sql >> データベース >  >> Database Tools >> phpMyAdmin

PHPのMySQLへの挿入構文エラー

    TableNames は識別子であるため、一重引用符で引用しないでください。使用したtableNameは予約済みのキーワードではないため、これらの折り返し引用符を削除するだけで済みます。

    INSERT INTO student (FirstName, LastName....
    

    何かを一重引用符で囲むと、そのオブジェクトは強制的に文字列リテラルになります。したがって、識別子が一重引用符で囲まれている場合、それは識別子ではなくなったことを意味します。

    INSERT INTOのため、サーバーは例外をスローします 文字列リテラルではなく識別子が必要です。

    MySQL予約済みのテーブル名を誤って使用した場合キーワード 、識別子を区切るために一重引用符を使用しないでください。ただし、backticks

    補足として、クエリはSQL Injectionで脆弱です。 値( s )変数のは外部から来ました。それを防ぐ方法については、以下の記事をご覧ください。 PreparedStatementsを使用する 値を一重引用符で囲むことはできません。



    1. 2つのSQLクエリをマージする

    2. Management Studioでパラメーター化されたクエリを作成するにはどうすればよいですか?

    3. T-SQLコードで重複を見つけるにはどうすればよいですか?

    4. Log4Shellの脆弱性はDBeaverのユーザーにとって危険ではありません