前提・実現したいこと
SQL文のエラーの原因が分からない
発生している問題・エラーメッセージ
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
該当のソースコード
sql
1INSERT INTO `samune_list`(`name`, `user`, `image`, `day`, `view`, `id`) VALUES (`".$_POST['title']."`,`".$_POST['name2']."`,`".$_POST['image_url']."`,`".$Date."`,0,0; 2
試したこと
クォーテーションの位置を確認した
まずは変数を使わずにSQLを組み立てて実行できるか確認してください。
エラーに「near ''」とあるので、PHPで代入している変数のどれかが空文字になっている可能性があります
エラーとは関係ないですが、
$_POSTの中身をそのままSQLに入れるのはSQLインジェクションの脆弱性になるので、プレースホルダを使ってコーディングしてください。調べれば色々出てくると思います。
[追記]htmlspecialcharsを使うように書いていましたが、html出力じゃありませんね。間違えていました。
INSERTしようとするSQL文を表示して確認してください。まず、VALUES句の値はバッククォート「`」ではなくシングルクォート「'」で囲ってください。また、SQLインジェクションのリスクがある点はそのとおりですが、htmlspecialcharsではなく、プレースホルダを使ってください。そうすると、INSERT文の書き方もかなり変わりますが、そちらは勉強してわからなければ質問してください。
「the right syntax to use near ''」のエラーの直接の原因は、閉じ括弧がないことではありませんか?→「,`".$Date."`,0,0;」
あなたの回答
tips
プレビュー