【解決方法】致命的なエラー: キャッチされていない mysqli_SQL_exception: SQL 構文にエラーがあります。 「fyp2」の近くで使用する正しい構文については、mariadb サーバーのバージョンに対応するマニュアルを確認してください。


Fatal error: Uncaught mysqli_sql_exception: SQL 構文にエラーがあります。 ”fyp2′ (”name’,’gender’,’age’,’health’,’absences’,’test1′,’test2′) の近くで使用する正しい構文については、MariaDB サーバーのバージョンに対応するマニュアルを確認してください。 value…’ at line 1 in C:\xampp\htdocs\fyp2\user.php:14 スタック トレース: #0 C:\xampp\htdocs\fyp2\user.php(14): mysqli_query(Object(mysqli) , ‘insert into ‘fy…’) #1 {main} が C:\xampp\htdocs\fyp2\user.php の 14 行目にスローされる

私のエラーはどこですか? 私はそれを見つけることができないようです。

これは私のコードです:

私が試したこと:

私は何でも試しましたが、解決策はありません。

解決策 2

推測では、コードを表示していないため、推測にすぎませんが、テーブルと列の名前に間違った区切り文字を使用しています。

あなたのエラーメッセージは両方を指しています insert into 'fy...'fyp2' ('name','gender','age','health','absences','test1','test2')、つまり、単一引用符を入れているように見えます (ASCII コード 39、 ') テーブル名と列名を囲みます。

MySQL と MariaDB では、バックティック (ASCII コード 96、 `) 名前を引用するには:
MySQL :: MySQL 8.0 リファレンスマニュアル :: 9.2 スキーマ オブジェクト名[^]

エラーを解決するには、クエリを修正してください。

SQL
insert into `fyp2` (`name`, `gender`, `age`, `health`, `absences`, `test1`, `test2`) ...

解決策 1

わかりません。システムにアクセスできないため、コード行をまったく見ることができません。

だから… user.phpの14行目を見て、それが使用するSQLコマンド文字列のビットを見つけます(これは14行目の少し上の行にあるかもしれません)、次に言及しているビットを見つけます fyp2 その前後のSQLを見てください。 それはかなり明白なはずです-結局あなたがそれを書いたので、あなたはあなたがタイプするつもりだったことを知っています-しかしそうでない場合は、最初から始めてください W3スクールのSQL[^] コマンドの種類を見つけて、実行しようとしているものを詳しく調べます。

申し訳ありませんが、私たちはあなたのためにそれを行うことはできません!

解決策 3

$sql->bindParam(‘:name’,$name);
bindParam を試す

コメント

タイトルとURLをコピーしました