Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySQL&;PHP |选择后更新不起作用_Php_Mysql_If Statement_Sql Update - Fatal编程技术网

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

MySQL&;PHP |选择后更新不起作用,php,mysql,if-statement,sql-update,Php,Mysql,If Statement,Sql Update,我有一个奇怪的情况,我的查询没有做它应该做的事情 以下是我的非工作代码: $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)) {

我有一个奇怪的情况,我的查询没有做它应该做的事情

以下是我的非工作代码:

$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 ($zichtbaarjanee == 0)
//{
//  $nieuwewaarde = 1;
//}else{
    $nieuwewaarde = 0;
//}
所以我猜问题出在if语句的某个地方,但我已经尝试了所有方法,也尝试了带或不带“”或“”

更新:将查询更改为mysqli_*

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

因为这是有效的:

 $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 ($zichtbaarjanee == 0)
//{
//  $nieuwewaarde = 1;
//}else{
    $nieuwewaarde = 0;
//}
当我将0切换为1时,它也在工作,但当我在代码段中添加注释时,它会停止更新表


请帮忙

MySQL的每个实例都需要替换为MySQLi 因为它在PHP5.5中被弃用

并尝试连接:

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'");

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

mysql\u error()
表示什么?请;
mysql.*
函数已经过时,而且不安全。使用或代替。@Fred ii-没有错误。根据代码,一切都应该工作。我们可以看到
tbl
表DDL定义吗?错误报告如何;那套了吗?如果不是。。。谢谢你的回答,但它不起作用。正如我所说,问题出在if语句中,而不是查询中。使用新的和改进的版本更新您的原始代码,让我和其他人更好地了解可能的错误。