我不明白为什么这个查询不工作…我将查询放入if语句中,并返回一个回显,以查看它是否返回true,结果确实返回了!但是如果我去看看sql表,它还没有更新…有人能帮帮我吗?
这是代码:
$rowpost='';
if(isset($_POST['rowpost'])){
$rowpost = $_POST['rowpost'];
$rowpost = implode(' ', $rowpost);
if(mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET['id']'")){
echo 'rowpost';
}
}
if(isset($_POST['addrowname'])){
$filename = "showcase.txt";
$contents = file_get_contents($filename);
$newcontent = $contents.' '.$_POST['addrowname'];
fwrite(fopen($filename, 'w'), $newcontent);
if(isset($_POST['chkaddshcs'])){
$rowpost = $_POST['addrowname'].' '.$rowpost;
if(mysql_query("UPDATE prodotti SET vetrina='".$rowpost."' WHERE id='".$_GET['id']."'")){
echo 'chkaddshcs';
}
}
它没有给出错误,它说rowpostchkaddshcs但他不更新表…
首先。停止使用mysql_*
函数,因为它们已被弃用。使用mysqli_*
代替。阅读这个问题作为参考。
此外,您的代码有sql注入的危险。阅读这个问题作为参考。
关于你的具体问题:
这条线:
mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET['id']'")
你必须去掉id周围的单引号,或者加上大括号。
mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='{$_GET['id']}'")
或
mysql_query("UPDATE prodotti SET vetrina='$rowpost' WHERE id='$_GET[id]'")