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语句中,而不是查询中。使用新的和改进的版本更新您的原始代码,让我和其他人更好地了解可能的错误。