0
我似乎可以修復我有這個小錯誤。我有一個動態列表菜單,其中包含俱樂部分支機構的編號。 用戶可以在我的網站上添加一個事件,例如: event_id, event_name, event_venue, event_date, establishment_id
...等。該字段的establish_id可以爲null,默認值爲null。問題與「無法添加或更新子行:外鍵約束失敗」
上述establishment_id是表單位(establishment_id)的FK。
用戶可以選擇挑建立,如果他添加事件正在發生或有他可以離開它,如果空白就沒有連接到它的建立。
E.g.
Select
Crooked Q'z
The Haven
Brew Bistro
我的代碼爲動態列表菜單
<label for="establishment_link"></label>
<select name="establishment_link" id="establishment_link">
<option selected value="" <?php if (!(strcmp("", $row_establishment_list['establishment_id']))) {echo "selected=\"selected\"";} ?>>Select</option>
<?php
do {
?>
<option value="<?php echo $row_establishment_list['establishment_id']?>"<?php if (!(strcmp($row_establishment_list['establishment_id'],
$row_establishment_list['establishment_name']))) {echo "selected=\"selected\"";} ?>><?php echo $row_establishment_list['establishment_name']?></option>
<?php
} while ($row_establishment_list = mysql_fetch_assoc($establishment_list));
$rows = mysql_num_rows($establishment_list);
if($rows > 0) {
mysql_data_seek($establishment_list, 0);
$row_establishment_list = mysql_fetch_assoc($establishment_list);
}
?>
</select>
然而,當我將它留空我得到一個錯誤:
Cannot add or update a child row: a foreign key constraint fails (`nnl`.`event`, CONSTRAINT `event_ibfk_1` FOREIGN KEY (`establishment_id`) REFERENCES `establishment` (`establishment_id`))
insert語句:
.. 。
$establishment_link= $_POST['establishment_link'];
$establishment_link= mysql_real_escape_string($establishment_link);
...
$query2 = "INSERT INTO event(user_id,
event_name,
event_description,
event_photo_url,
event_thumb_url,
event_link_url,
event_venue,
event_telephone,
event_email,
establishment_id,
event_date,
event_time,
event_entrance_fee,
event_guest_appearances,
event_dress_code,
event_other_details)
VALUES
('$user_id',
'$event_name',
'$event_description',
'$img_large',
'$img_thumb',
'$event_url',
'$event_venue',
'$event_telephone',
'$event_email',
'$establishment_link',
'$date',
'$time',
'$event_fee',
'$event_guests',
'$event_dress',
'$event_other')";
//Execute query
$qry_result2 = mysql_query($query2) or die(mysql_error());
我該如何解決這個問題?
非常感謝。乾杯!問題解決了。 – 2011-02-18 09:08:55