0

私はphpが初めてで、持っているもののエラーを見つけることができないようです。データベースを数値で更新しようとしています。同じテーブルの別の行で機能するものの正確なレプリカを使用しています。ただし、'order=IF(LENGTH('3')=0, order, '3') WHERE id='1" at line 1' の近くに構文エラーがあるというエラーが表示され続けます。 id='1" の後に一重引用符、次に二重引用符。私のコードに何か問題がありますか?

if(isset($_POST['nso']))
{
$nso=$_POST['nso'];
$id=$_POST['id'];
$sql="UPDATE series SET order=IF(LENGTH('$nso')=0, order, '$nso') WHERE id='$id'";
$response=mysql_query($sql) or die("Not able to update." .mysql_error());
echo "<meta http-equiv='refresh' content='0;url=DBE.php'>";
}
4

1 に答える 1

1

ordermysql のキーワードなので、バッククォートを入れてみてください。

UPDATE series SET `order`=IF(LENGTH('$nso')=0, `order`, '$nso') WHERE id='$id'

これが機能しない場合は、(おそらく) 数値を持つ列の値の周りからアポストロフィを削除してみてください。

ID:

UPDATE series SET `order`=IF(LENGTH('$nso')=0, `order`, '$nso') WHERE id=$id

注文:

UPDATE series SET `order`=IF(LENGTH('$nso')=0, `order`, $nso) WHERE id='$id'

または両方:

UPDATE series SET `order`=IF(LENGTH('$nso')=0, `order`, $nso) WHERE id=$id
于 2013-09-28T17:45:45.417 に答える