2017-02-16 2 views
1

このステートメントに適切な列をすべて選択しました。私がWHERE user_id = $ userを変更し、$ userが数字の場合、それは動作します。しかし、それはユーザー名の文字が好きではないようです。ユーザーはテーブル内の有効な列で、 'john'は存在します。私は間違って何をしていますか?MySqlステートメントのWHERE節がページを破る

$user = 'john'; 

// Set the timestamp from the current system time 
$time = time(); 

// Put our query together: 
$query = "UPDATE table set 
        `time` = {$time} 
        WHERE user = {$user}"; 
+0

$ userを一重引用符で囲みますか? –

+0

何も変わりません。 – Thomas

+0

一重引用符で、バッキーグではありません。 user = '$ user'は動作していません??? –

答えて

0

:あなたは同じ値$ユーザーに二回指している

`user_id` = {$user}, 
`time` = {$time} 
    WHERE user = {$user}"; 

、idの1、ユーザーのための1つを、あなたはあなたがその倍の値を定義していないよろしいですあなたJSスクリプト?各値に異なる名前を付けてみてください。

+0

私は '' user_id' = {$ user} ''を私の声明の中から取り出しました。まだ動作しません! – Thomas

+0

あなたが気にする必要のある$ user変数です。数字のように聞こえますが、$ user = 'John'の名前を$ userName = 'John'に変更してみてください – Steven

+0

これはうまくいきました。方法は分かりませんが、それはありました!ありがとうございました。 – Thomas

0

"{$ time}"の後に "、"がありませんか?

+0

いいえ、コンマは不要です – Thomas

0

ユーザー列のデータを確認すると、数値であると感じます。ユーザ名の使用を主張する場合は、ユーザ名をユーザ番号に変換してWHERE句で使用する関数のMySQLドキュメントを参照してください。ここにあなたのクエリでは、

+0

私の 'user'列はVARCHARです。 Ok - それを見てみましょう。ありがとう – Thomas

関連する問題