나는 루프하고있는 항목의 배열을 가지고 있으며, 데이터베이스에 값이 이미 있는지 검사합니다. 새로운 항목을 만들고 싶습니다. 배열의 첫 번째 항목이 표시되고 true를 반환하지만 첫 번째 항목 이후의 항목은 올바른 item_name 및 ticket_id를 가진 데이터베이스에 있다는 사실을 알고 있어도 0을 반환합니다.PHP 배열의 foreach 루프 내에서 mysql 행이 존재하는지 확인하십시오.
나는 물어보기 전에 연구를 시도했지만이 시점에서 난처한 상황에 처해있다. 사전에 도움을 주셔서 감사합니다.
if($func == 'edit') {
foreach ($addItem as $key => $value) {
if (empty($key) || $key=='amount_paid') {
continue;
}
$ticket_items = mysql_query("SELECT * FROM ticket_items WHERE ticket_id = '$ticket_id' AND item_name = '$key'");
if (mysql_num_rows($ticket_items)) {
print 'Updated '. $key ."\n";
mysql_query("UPDATE ticket_items set item_name='$key', item_price='$value' WHERE ticket_id='$ticket_id'");
} else {
print 'Created '. $key ."\n";
mysql_query("INSERT into ticket_items (ticket_id, item_name, item_price) VALUES ('$ticket_id', '$key', '$value')");
}
}
}
$ ticket_id는 루프의 모든 반복에서 동일합니다. 그게 의도 된거야? – PaulJ
예 어레이의 모든 항목에 동일한 ticket_id가 있습니다 – IceSteve
어쩌면 건너 뜁니다. (empty ($ key) || $ key == 'amount_paid')'조건 또한 배열을 계산하십시오 – meda