1
私はデータベースから情報を取得し、PHPを使用して自動的にテーブルにインポートしてフォームを作成するスクリプトを作成しています。フォームでは、データベースに含まれているデータが何であれ、フィールドの名前を付けています。私はどのようにループしてすべての入力フィールドを追加するのか分からないので、データベースにフォームの値を挿入するクエリの値の部分に問題があります。どうすればいい?ループによるデータベースへの値の挿入
while ($aRow = mysql_fetch_assoc($aResult)) {
if ($aRow['correct'] == 1) {
$tableString .= "<input name=". $qRow['questionID'] ."
type='radio'
>" .
$aRow['answerValue'] . "<br />";
} else {
$tableString .= "<input name=". $qRow['questionID'] ."
type='radio'
>" .
$aRow['answerValue'] . "<br />";
}
$answer= [$aRow];
$question= [$qRow];
$student= [$username];
// Insert data into mysql
//$sql="INSERT INTO $userexam(answerID, questionID, userID)VALUES('$answer', '$question', '$student')";
//$result=mysql_query($sql);
$query = " INSERT INTO userexam (
answerID,
questionID,
userID)
VALUES ('" . $_POST['/* answerID */'] . "', '" .
$_POST['/* questionID */'] . "', '" .
$_POST['/* userrole */'] . "')";
}
mysql_ *関数の使用をやめてください。彼らは2年以上前倒しされており、PHP 7以降では動作しなくなります。あなたのコードは[SQLインジェクション](https://en.wikipedia.org/wiki/SQL_injection)に対して広く公開されています。これは基本的に、あなたのウェブサイトの訪問者があなたのデータベースで必要なことを何時でもやり遂げるのに1分もかからないことを意味します。それはそれを破壊することを含む。 [MySQLi](http://php.net/manual/en/book.mysqli.php)または[PDO](http://php.net/manual/en/book.pdo.php)を組み合わせて使用する[Prepared Statements](https://en.wikipedia.org/wiki/Prepared_statement)を参照してください。 – icecub