1

閉じるボタンをクリックし、ステータス属性を「0」で更新し、「閉じた」言葉遣いをエコーし​​て、mysql データベースを更新しようとしています。ジョブ番号が整数のみの場合、他の誰かから継承した現在のコードはデータベースを更新します。ジョブ番号が英数字または単なるアルファベットの場合、エラー メッセージが表示されます。

UPDATE が失敗しました: 'where 句' の列 'test5' が不明です

最初の updateTable は、functions.php ファイル内のこの関数から取得されます。

function updateTable($table, $update, $where){
        $query = ("UPDATE $table "."SET $update "."WHERE $where ");
        $result = mysql_query($query) 
        or die("UPDATE not successful: " . mysql_error()); 
}

レコードのクローズと mysql への更新は、次のコードで行われます。

if($_SESSION['login']){
include("functions.php");
$currentPOJO = $_GET["pojo"];
dbConnect();
$where = "pojo_number=".$currentPOJO;
updateTable("records", "status=0", $where);
echo "closed";

}

いくつかの変更を試みましたが、うまくいきませんでした。私は何が欠けていますか?

データベースの列を「0」で再度更新して、レコードの閉鎖を示します。ジョブ番号または「pojo」は、英字と数字の両方の文字を使用できる必要があります。

- 私のmysql dbには、「ステータス」属性/列がvarChar(35)に設定されています。

可能な限り助けてくれてありがとう。

4

1 に答える 1

0

一連の引用符が欠落しているようです:

$where = "pojo_number='". $currentPOJO ."'";

これにより、クエリが次のように変更されます WHERE pojo_number=test5WHERE pojo_number='test5'

于 2013-05-22T20:44:32.827 に答える