0

データベース テーブルのフィールドを更新して 1 を追加する次のコードがあります。ID には変数がポストされている必要があります。これがどこで間違っているのか誰にもわかりますか?

編集:申し訳ありませんが、実際の問題について言及するのを完全に忘れていました。データベースはフィールドを更新していません。

<?php
$con=mysqli_connect("localhost","**","***","***");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

mysqli_query($con,"UPDATE base SET thumbdown = thumbdown + 1 WHERE id = $_POST['id']");

mysqli_close($con);
?>
4

1 に答える 1

3

$_POST['id']配列であるため、解析された文字列を正しく取得できません。中かっこで囲む必要があります。

"UPDATE base SET thumbdown = thumbdown + 1 WHERE id = '{$_POST['id']}'"

ただし、(常に!) 最初に変数をエスケープすることを忘れないでください:

$id = mysqli_real_escape_string($_POST['id']);
mysqli_query($con,"UPDATE base SET thumbdown = thumbdown + 1 WHERE id = '{$id}'");
于 2013-11-07T18:32:42.630 に答える