私はMySQLデータベースの大量の変数を変更するページを持っていますが、これまでのところすべてがうまくいっていますが、単一の論理ゲートは明白な理由で動作しなくなった。PHP/MySQLのクエリが明白な理由で動作しなくなった
私は次のことを確認しました:
- 意図したように、論理ゲートがトリガされ(私はものとなどをエコーすることができます - 変数は、それが
を意図していたように、ゲートの文がある「場合」に掲載し、使用それの中に)。
- データベース接続が確立されました。この論理ゲートの前後でさまざまなタイプのクエリを同じ接続変数で正常に実行しています。
- 接続ユーザーはすべてのPRIVILEDGESを有効にしています。この論理ゲートを取り囲む前述のクエリは、同様の機能を正常に使用しています。
はここで論理ゲートです:
if (!empty($_POST["addqual"])){
$coladqual = $_POST["addqual"];
$sqlf = "ALTER TABLE users ADD UNIQUE ('$coladqual') INT(2) NOT NULL";
$conn->query($sqlf);
$sqlc = "INSERT INTO competencebonus (competence,bonus)
VALUES ($coladqual,0)";
$conn->query($sqlc);
}
私は、複数の変更を試みたが、彼らは私が何をすべきかに関係なく実行していないようです。私はこれらの2つの前と後に他の論理ゲートで少なくとも20の他のクエリを持っています。これらの2つを除けば、まったく動作していません。
EDIT - ここでエラー(エラーレポート構文を提供してくれまし者あなたのすべてに感謝します)
あなたはあなたのSQL構文でエラーが発生しているのです。 'TestAA'の近くで使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルをチェックしてください)INT(2)NOT NULL UNIQUE '1行目
私には括弧しか閉じないポストインプット(TestAA)の周り。それはどちらかあるいは両方を持っていると思われますか?
私は、構文を変更しようとした次のエラーました:
重複エントリを '0' キーは 'TestAB'
構文をした
$sqlf = "ALTER TABLE users ADD `$coladqual` INT(2) NOT NULL UNIQUE";
FINAL EDIT:
これを機能させました。 Jeff Pucket IIの推奨する「NOT NULL」ステートメントを削除しました。何とかこれは括弧の削除とアポストロフィの代わりにバックティックの使用と組み合わせて、そのことを機能させました。 忍耐力を持ってくれた皆さん、ありがとうございました。
エラーチェックが常に優先されます。自己教育は最も強力です。 – Rottingham
クエリが正常に実行されたかどうかを確認する必要があります。何かが失敗した場合、 '$ conn'はそれについて報告することができます。 (また、PDOかMySQLiかを指定する必要があります) – Arjan
MySQLi。 これらのクエリにエラーレポートを追加するにはどうすればよいですか? 私が過去1年間見つけたすべての例は、まったく異なるクエリフォーマットを使用しています。 – noobequaltotrue