MySQL;PHP |选择后更新不起作用


MySQL & PHP | Update doesnt work after select

我遇到了一种奇怪的情况,我的查询没有做它应该做的事情。

这是我不工作的代码:

$aanbodID = 1;
$db = //connection
$getData = $db->query("SELECT boekbaar_iframe FROM aanbod_20160206 WHERE id_aanbod=$aanbodID") or die(mysql_error());
while ($row_content = mysql_fetch_array($getData)) 
{       
    $zichtbaarjanee = $row_content['boekbaar_iframe']; // 0 or 1
}
if ($zichtbaarjanee == 0)
{
    $nieuwewaarde = 1;
}else{
    $nieuwewaarde = 0;
}
db->query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'");
echo mysql_error();

这里有几乎相同的代码正在工作:

 $aanbodID = 1;
$db = //connection
$getData = $db->query("SELECT boekbaar_iframe FROM aanbod_20160206 WHERE id_aanbod=$aanbodID") or die(mysql_error());
while ($row_content = mysql_fetch_array($getData)) 
{       
    $zichtbaarjanee = $row_content['boekbaar_iframe']; // 0 or 1
}
//switch these vars and its working    
$nieuwewaarde = 0;
// $nieuwewaarde = 1; 
db->query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'");
echo mysql_error();

所以我猜问题出在if语句的某个地方,但我已经尝试了所有的方法,无论是否使用"或"。

更新:将查询更改为mysqli_*

问题仍然存在于if/else语句中

因为这是有效的:

//if ($zichtbaarjanee == 0)
//{
//  $nieuwewaarde = 1;
//}else{
    $nieuwewaarde = 0;
//}

当我将0切换为1时,它也在工作,但当我在代码中注释时,它停止更新表

请帮忙!

MySQL的每个实例都需要用MySQL替换i因为它在PHP 5.5中被弃用。

http://php.net/manual/en/book.mysqli.php

尝试连接:

mysql_query("UPDATE aanbod_20160206 SET boekbaar_iframe = ".$nieuwewaarde." WHERE id_aanbod = ".$aanbodID.""); 

应更改为:

mysqli_query("UPDATE aanbod_20160206 SET boekbaar_iframe = '$nieuwewaarde' WHERE id_aanbod = '$aanbodID'");

我知道您正试图将变量嵌入查询中,但在这种情况下,它只会在变量的两侧添加2个点。