2017-05-08 16 views
1

初心者PHPの更新データのクエリのための私の構文エラーをダウン釘多くの問題を持ちます。ここでは、クエリです。私は取得しています更新データのSQLクエリの構文エラー

$sethere = "UPDATE `".$_currentclass."` 
    SET `".$_date."` = 1 
    WHERE studentid = `".$_idNum."`"; 

エラーは、「あなたはあなたのSQL構文でエラーが発生している。ライン1で使用する権利構文についてはMySQLサーバのバージョンに対応するマニュアルを確認してください」と言います

は、SETラインが0にブール値のデフォルトを変更していることに留意すべきである、と私は運と異なる順列のトンを試してみた。1.にそれを変更したいです。どんな助けでも大歓迎です。

+2

使用PHPとSQLのバージョンを私に聞かせて(http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)の代わりに、あなたを連結クエリはより安全ですあなたは 'mysql_ *'、 'mysqli_ *'や 'pdo'を使っていますか? –

+0

$ _ IDNUM "= = 1 WHERE studentid" $ _日付 "SET" currentclass $ _ this- '$ sethere = "UPDATE" をしてみてください$ _idNumから変数 –

+0

をバッククォートを削除;。。。。。'と '$ sethereをエコーん;' mysqlでこのクエリを実行します。 [MySQLでは単一引用符、二重引用符、およびバッククォートを使用する]の – Bhaskar

答えて

0

は値のセクションのためのバッククォート( `)を使用しないでください。

$sethere = "UPDATE `".$_currentclass."` 
SET `".$_date."` = 1 
WHERE studentid = ".$_idNum; 
0
$sethere = "UPDATE table_name SET col_name= 1 where studentid='$value'"; 

あなたはSQLバージョンに応じた構文を使用していないので、あなたが取得しているエラー。あなたは[プリペアドステートメント]を使用する必要があります

+0

どのバージョンのmysqlでは、値の前後に刻みを入れることができますか? –

0
$sethere = "UPDATE ".$_currentclass." 
SET ".$_date." = 1 
WHERE studentid = ".$_idNum;