Вставить первичный ключ выбранного значения выпадающего списка в качестве внешнего ключа в другую таблицу, используя php mysql

#php

#php

Вопрос:

Мне нужно вставить выбранное значение первичный ключ, который будет вставлен в качестве внешнего ключа в другую таблицу, но ни то, ни другое не выдает ошибку, и ничего не происходит, я заполнил выпадающий список формой ниже

 <form id="country" name="form1" method="post" action="datatodb.php">
<table border="1">
<tr>
<td>
Select Country :<select name="countryname">
<?php
include 'dblogin.php';
// Get records from database (table "name_list").
$list=mysql_query("select * from _countries");
// Show records by while loop.
while($row_list=mysql_fetch_assoc($list)){
?>
<option value="<?php echo $row_list['countryid']; ?>"><?php echo $row_list['countryname']; ?></option>
<?php
// End while loop.
}
?>
</select> </td></tr>
<tr><td>
Add Location :   
<input type="text" name="locationname" value="" maxlength="40"/></td></tr>
<tr><td align="center">
<input type="submit" name="Submit" value="Add" size="20"/></td></tr></table>
</form>
  

С помощью приведенного ниже кода я фиксирую значения и пытаюсь вставить первичный ключ
выбранное значение в другой таблице, где оно является внешним ключом

 <?php
include 'dblogin.php';

$countryid=$_POST['countryname']; 
$locationname=$_POST['locationname'];

$countryid = stripslashes($countryid); 
$locationname = stripslashes($locationname);

$countryid = mysql_real_escape_string($countryid);
$locationname = mysql_real_escape_string($locationname);

$sql="insert into _location (locationid, locationname, countryid) values ('NULL','".$locationname."','".$locationname."')";
$result=mysql_query($sql);
?>
  

Пожалуйста, помогите мне получить первичный ключ выбранного значения и вставить его в другую таблицу, где это внешний ключ

Ответ №1:

если вы выполняете автоматическое приращение locationid как, вам не нужно добавлять это значение в запрос,

сделайте как

     $sql="insert into _location (locationname, countryid) values 

('".$locationname."','".$countryid."')";
  

примечание: чтобы игнорировать повторяющиеся значения locationname , установите это поле как уникальное

РЕДАКТИРОВАТЬ: у вас ошибка с опечаткой, вы пытаетесь вставить locationname дважды, я заменяю его

Комментарии:

1. Дорогой Хаим, по-прежнему ничего не вставляется, пожалуйста, все помощники понимают, что мне нужно вставить выбранное значение из выпадающего списка primary key в другую таблицу в качестве внешнего ключа

2. какую ошибку вы получаете? if (!mysql_query($sql, $link)) { echo mysql_errno($link) . «: » . mysql_error($link) . «n»; }

3. ошибки нет, но когда я выбираю таблицу в режиме mysql dos, таблица пуста

4. вставить в _location (locationid, locationname, countryid) значения (‘NULL’,'».$locationname.»‘,'».$locationname.»‘)»; чтобы —— вставить в _location (locationid, locationname, countryid) значения (‘NULL’,'».$locationname.»‘,'».$countryid.»‘)».;

5. извините, но где знак, на который нужно нажать