私は2つのテーブルを持っています:
ユーザー:
+------+-----------+
| id | Name |
+------+-----------+
tblItems (このテーブルは、ユーザーが選択した数に応じて複数のチェックボックス値を受け入れます):
+------+-----------+---------------+
| id | items | name_id |
+------+-----------+---------------+
name_id
の id の値を取得しますtblUser
。
このコードを使用して to の id の値を取得しtblUser
ますname_id
。
for ($i=0; $i<sizeof($checkbox);$i++){
$sql2="INSERT INTO tbl_trainings VALUES (NULL, '".$checkbox[$i]."', (SELECT id FROM tbl_info))";
$result2=mysql_query($sql2);
}
INSERT
データベースで次のようになる最初のデータで正常に機能します。
+------+-----------+---------------+
| id | items | name_id |
+------+-----------+---------------+
| 1 | Bucket | 1 |
+------+-----------+---------------+
| 2 | Tree | 1 |
+------+-----------+---------------+
| 3 | House | 1 |
+------+-----------+---------------+
しかし、次または 2 番目INSERT
のデータではエラーになります。エラーは
サブクエリは、mysql_error();
ちなみに、これは完全なコードです:
if($_POST["Submit"]=="Submit"){
$sql1="INSERT INTO tblUser VALUES (NULL, '$fname', '$lname')";
$result1=mysql_query($sql1);
for ($i=0; $i<sizeof($checkbox);$i++){
$sql2="INSERT INTO tblItems VALUES (NULL, '".$checkbox[$i]."', (SELECT id FROM tblUser))";
$result2=mysql_query($sql2);
}
}
if($result2 && result1){
echo"<center>";
echo"<h1>";
echo "SUCCESSFUL!";
echo"</h1>";
echo"</center>";
}
else {
echo "ERROR". mysql_error();
}
そして、データベースでの望ましい出力は次のようになります。
+------+-----------+---------------+
| id | items | name_id |
+------+-----------+---------------+
| 1 | Bucket | 1 |
+------+-----------+---------------+
| 2 | Tree | 1 |
+------+-----------+---------------+
| 3 | House | 1 |
+------+-----------+---------------+
| 4 | Tree | 2 |
+------+-----------+---------------+
| 5 | Air plane | 2 |
+------+-----------+---------------+
| 6 | Bucket | 3 |
+------+-----------+---------------+
どんな助けでも大歓迎です。前もって感謝します。