我遇到了一种奇怪的情况,我的查询没有做它应该做的事情。
这是我不工作的代码:
$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个点。