2012-02-15 14 views
1

私はユーザー入力値を記録し、同時に別のテーブルから単一のデータをコピーしたいと考えています。出来ますか?ここ複数の挿入ステートメント

は私のコードは次のとおりです。

$sql="INSERT INTO grades (studentnumber,subjectcode) 
VALUES 
('$_POST[studentnumber]','$_POST[subjectcode]')"; 

$sql="INSERT INTO grades (course) SELECT course FROM students WHERE studentnumber= '$_POST[studentnumber]'"; 

if (!mysql_query($sql,$con)) 
    { 
    die('Error: ' . mysql_error()); 
    } 
echo "<script type='text/javascript'>alert('Record Successfully Added'); location.href = '../instructor/cvsu-sis_students.php';</script>"; 

事前のおかげで、私の基本的な質問には申し訳ありません。

+3

[SQLインジェクション](HTTP ://en.wikipedia.org/wiki/Sql_injection)。それについて学ぶ! – deceze

答えて

0

を:

$P_studentnumber=mysql_real_escape_string($_POST['studentnumber']); 
$P_subjectcode=mysql_real_escape_string($_POST['subjectcode']); 

$sql="INSERT INTO grades (studentnumber,subjectcode,course) SELECT '$P_studentnumber','$P_subjectcode',course FROM students WHERE studentnumber='$P_studentnumber'"; 

if (!mysql_query($sql,$con)) 
{ 
    die('Error: ' . mysql_error()); 
} 
echo "<script type='text/javascript'>alert('Record Successfully Added'); location.href = '../instructor/cvsu-sis_students.php';</script>"; 
0

可能です。 UNION演算子を使用すると、1つのクエリで複数のプロシージャを送信できます。

この読み:また、SQLインジェクションを防ぐために、文字列をエスケープすることを忘れないでください、それはあなたがについて尋ねているものだ場合は1つのクエリでそれを行うことができますW3schools

+0

w3schoolsのチュートリアルには、しばしば悪い習慣が含まれています。彼らのPHPセクションは特に恐ろしいもので、セキュリティ上の脆弱性がたくさんあります。それらが存在することを忘れ、より良いリソースを見つける必要があります。 – Charles

関連する問題