Делимся секретами создания сайтов

Срочно нужна помощь

Есть такая проблема, например существует функция выполяющая :
$db_sql ="INSERT INTO jos_vm_product ( product_id ,product_name )VALUES ('','$product_name[$i]'')";
mysql_query($db_sql, $link);
Как получить product_id если она auto)increment желательночтобы не делать пересчет а как то сразу при занесении? есть предложения?

Ответы: 5 → “Срочно нужна помощь”

  1. Деня Татаринов Ответить

    mysql_insert_id($link);

    ВОзвращает id последнего инсерта=)

  2. Андрей Вольберг Ответить

    Рекомендуют пользовать SELECT LAST_INSERT_ID();
    Можно и нужно для этого свою функцию написать.

  3. Деня Татаринов Ответить

    Вопрос умному человеку выше: почему незя использовать mysql_insert_id($link); ?

  4. Андрей Вольберг Ответить

    Речь не о "нельзя". Не рекомендуется в больших базах.
    Знающие мотивируют это тем, что пхпшная mysql_insert_id() (собственно – ее C-шный прототип) возвращает значение типа int. И если в базе автоинкрементное поле BIGINT – при больших значениях этого поля, естественно, произойдет "обрез" верхних байтов и полученное через mysql_insert_id() значение окажется неверным, а это ойойой чревато.

  5. Деня Татаринов Ответить

    Позновательно=)

Ответить