2013-05-05 5 views
-2

Я пытаюсь вставить в две таблицы материнскую таблицу и дочернюю таблицу: но материнская таблица получает данные, а дочерняя таблица: я получаю ошибку Невозможно добавить или обновить дочернюю строку: ограничение внешнего ключа не удается (. portfolioplayers, скованность players_ibfk_1 FOREIGN KEY (user_id) Лит users (user_id) ON DELETE CASCADE ON UPDATE CASCADE) А ниже мой код:Как я могу вставить последний идентификатор в дочернюю таблицу:

$query="INSERT INTO users(email,date) 
VALUES('$email','$date')"; 
$user_result = mysql_query($query); 
/*last inserted Id */ 
$id_last = ("SELECT LAST_INSERT_ID()"); 
$res = mysql_query($id_last); 
$last_id = mysql_fetch_array($res); 
/*last inserted Id ends*/ 
/*insert query */ 
$sql="INSERT INTO 
players(name, surname, position, contact_number, email, username, password, date, user_id) 
VALUES('$name ','$surname','$position','$contact_number','$email','$username','$password', '$date', '$last_id')"; 
$result = mysql_query($sql)or die (mysql_error()); 
/*if something goes wrong then tell the user*/ 
if($result){ 
echo "Player Successfully added</br>"; 

} 
else { 
echo "We are sorry no player inserted "; 
} 

ответ

2
$last_id = mysql_fetch_array($res); 

mysql_fetch_array возвращает массив, чтобы получить фактический идентификатор, вы должны использовать $last_id[0]. Также есть функция для этого: mysql_insert_id. Изучая связанную страницу руководства, обратите внимание на большую красную рамку и продолжайте разработку с помощью mysqli или PDO.

+0

нормально, но как я могу использовать его, потому что я хочу, чтобы последний был вставлен в пользовательскую таблицу. могут интегрировать ваши коды в шахту? – humphrey

+0

Я использовал его в pdo, но теперь это требование имеет для меня в старых mysql_functions спасибо – humphrey

Смежные вопросы