私の問題がわかりません。 4行目でエラーが発生します。PHP/SQL解析エラー
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING
私はそれが4行ではないと仮定していると仮定します。私は何かを逃しているのですか?引用されたキーを持つ要素を正しく構文解析するために巻き毛の構文を使用する必要が
$id = $_GET['id'];
$query = "UPDATE todo_item2
SET todo = $_POST['i'],
percent = $_POST['p'],
due_date = $date
WHERE todo_id = :id";
$query2 = "UPDATE todo_category2
SET category = $_POST['c']
WHERE todo_id = :id";
$id = $_GET['id'];
$statement1 = $db->prepare($query);
$statement1 -> execute(array(
'id' =>$id,
));
$statement2 = $db->prepare($query2);
$statement2 -> execute(array(
'id' =>$id,
));
IDを正しく準備していますが、他のフィールドは正しく準備していませんか?入力したユーザーデータをSQL文字列で直接使用しないでください。 – Marc
テストケースを作成してください。問題の分離はデバッグの基本であり、ここで尋ねる前に何もしていないようです。 –
"エスケープ"を適用せずに$ _POSTから直接SQLクエリにデータを配置すると、$ _POSTデータにあるSQL構文を実行しようとしますが、これは見つけたもののようなエラーにつながりますが、ハッカーがあなたのウェブサイトを引き継ぐことがしばしばあります。あなたは本当にこれを研究する時間を費やす必要があります。あなたが正しいことを確実にしていることを絶対に確かめるためです。 –