ハマっている「お菓子」を教えて!

phpこちらのコードを日本語訳して欲しいです!

$x = "SELECT * FROM mon1 WHERE 'subject'=? AND 'teacher'=?'";
$stt = $db->prepare($x);
$stt ->execute(array($_POST['subjectmon1'],$_POST['teachermon1']));

<td><?=htmlspecialchars($x['classroommon1'],ENT_QUOTES)?></td>

A 回答 (2件)

残念ながらソースが間違えてます



$x = "SELECT * FROM mon1 WHERE `subject`=? AND `teacher`=?'";
subjectとteacherの前後はシングルクォートではなくバッククォートです。

そこを調整したとしてソースの意図は
subjectとteacherというカラムがそれぞれポストで渡されたsubjectmon1と
teachermon1というパラメータと合致するデータを取り出しています

その下のhtmlspecialchars($x['classroommon1'],ENT_QUOTES)
は、ヒドイ処理なのでなにもやっていません
ちゃんとやるなら

$row=$stt->fetch(PDO::FETCH_ASSOC);
と、いったん変数に受けて
<?=htmlspecialchars($row['classroommon1']);?>
とすれば、mon1テーブルにあるclassroommon1カラムのデータを
html用にエンコードして表示できます
    • good
    • 0

プリペア文という形式



mon1という表に対して、subjectとteacherという項目が一致する情報を取り出すという指示
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報