에 1 개 이상의 행을 반환하위 쿼리 내가 2 개 테이블이 2 삽입
+------+-----------+
| id | Name |
+------+-----------+
tblItems (이 표는 선택 얼마나 많은 사용자에 따라 여러 개의 체크 박스 값을 허용) :
+------+-----------+---------------+
| id | items | name_id |
+------+-----------+---------------+
name_id
은 tblUser
의 id 값을 가져옵니다.
나는 name_id
에 tblUser
의 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 |
+------+-----------+---------------+
그러나의를 데이터의 다음 또는 두 번째 INSERT
은 오류가됩니다.
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();
}
그리고 데이터베이스에서 원하는 출력은 다음과 같습니다 : 오류이 전체 코드입니다, 하위 쿼리 방법에 의해, mysql_error();
에서 1 개 이상의 행을 반환
입니다
+------+-----------+---------------+
| id | items | name_id |
+------+-----------+---------------+
| 1 | Bucket | 1 |
+------+-----------+---------------+
| 2 | Tree | 1 |
+------+-----------+---------------+
| 3 | House | 1 |
+------+-----------+---------------+
| 4 | Tree | 2 |
+------+-----------+---------------+
| 5 | Air plane | 2 |
+------+-----------+---------------+
| 6 | Bucket | 3 |
+------+-----------+---------------+
어떤 도움을 주시면 감사하겠습니다. 미리 감사드립니다.
를 사용해야합니다 where 절 선택하려는 느릅 나무 사용자를 말하고. – HMarioD