topics(id_topic,craetor_name,title);
reports(id_report,id_topic,report).
таблицы логически связаны (1:N) атрибутом id_topic.
Тр*цензура*ется добавить запись в таблицу topics, а потом добавить в таблицу reports запись с значением id_topic записи, которая была внесена перед этим в таблицу topics. Делаю так:
$query = "insert into topics values (NULL, '$user','$title')";
$result = $db->query($query);
$query2 = "select id_topic from topics where title='$title' ";
$result2 = $db2->query($query2);
$query3 = "insert into reports values (NULL,'$result2','$report')";
$result3 = $db3->query($query3);
Запись в таблицу topics добавляется, а в reports не добавляется. Что не так делаю, подскажите пожалуйста, уважаемые люди. Или может мои запросы как то упростить ? Заранее спасибо.
Спустя 21 минута, 3 секунды (8.11.2006 - 20:24) md5 написал(а):
$query = "insert into topics (`craetor_name`,`title`) values ( '".$user."', '".$title."')"; $result = $db->query($query); $last_inserted_id = mysql_insert_id(); $query3 = "insert into reports (`id_topic`, `report`) values ('".$last_inserted_id."', '".$report."')"; $result3 = $db3->query($query3);
ошибка в том, что впринципе надо было профетчить result2
$query2 = "select id_topic from topics where title='$title' "; $result2 = $db2->query($query2); $result2 = mysql_fetch_assoc($result2); $my_id_topic = $result2['id_topic']; и патом: $query3 = "insert into reports values (NULL,'$my_id_topic','$report')"; $result3 = $db3->query($query3);
Спустя 47 секунд (8.11.2006 - 20:25) md5 написал(а):
ps
посмотри http://www.php.net/mysql_insert_id/
посмотри http://www.php.net/mysql_insert_id/