クエリのエラー:SQL構文にエラーがあります。1行目の「IFEXISTS(SELECT flag FROM welcomecall WHERE customerID = '6767')SELECT flag」の近くで使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。
このクエリは1行目の近くにないため、エラーが何であるかわかりません。誰かアドバイスしてもらえますか?:)
<?php
$db_link = mysql_connect('localhost', 'secrets', '') or die('Could not connect to the database.');
mysql_select_db('thedb', $db_link) or die('Could not find the database table.');
require "/home/directory/public_html/app/Mage.php";
//umask(0);
Mage::app();
Mage::getSingleton('core/session', array('name'=>'frontend'));
$session = Mage::getSingleton('customer/session');
if($session->isLoggedIn()) {
print_r($session);
$customerID = $session->getCustomerId();
print("Customer ID is ". $customerID);
} else {
echo 'Not logged In';
}
$action = $_POST['action'];
switch($action) {
case 'retrieve' : retrieveFlag();break;
case 'postValue1' : postValue();break;
// ...etc...
}
function retrieveFlag(){
global $customerID;
$query="IF EXISTS(SELECT flag FROM welcomecall WHERE customerID= '$customerID')
SELECT flag FROM welcomecall WHERE customerID=" . $customerID . "
ELSE
INSERT INTO welcomecall VALUES (" .$customerID .",0)";
$result = mysql_query($query) or die('Error in the query: ' . mysql_error());
}
function postValue(){
$query="IF EXISTS(SELECT flag FROM welcomecall WHERE customerID=" . $customerID . ")
SELECT flag FROM welcomecall WHERE customerID=" . $customerID;
$result = mysql_query($query) or die('Error in the query: ' . mysql_error());
if ($result==0){
$query="UPDATE welcomecall SET flag=1 WHERE customerID=" .$customerID. ")";
$result = mysql_query($query) or die('Error in the query: ' . mysql_error());
}
else if($result==1){
$query="UPDATE welcomecall SET flag=0 WHERE customerID=" . $customerID. ")";
$result = mysql_query($query) or die('Error in the query: ' . mysql_error());
}
}
?>
また、エラーで次のことを試みました:
$query="SELECT CASE
WHEN EXISTS(SELECT flag FROM welcomecall WHERE customerID= '$customerID')
THEN SELECT flag FROM welcomecall WHERE customerID=" . $customerID . "
ELSE
INSERT INTO welcomecall VALUES (" .$customerID .",0)
END";