Используете ли вы mysql_error($con) или mysql_insert_id($con) для проверки результата вставки?
$dml = "insert into table ...";
mysql_query($dml,$con);
Выше вставьте что-то в таблицу. Затем вы можете проверить, удалось ли это
if('' == mysql_error($con))...
или же
if($id = mysql_insert_id($con))...
Какой у тебя выбор и причина?
Кстати, будет ли нижеприведенный $id извлечен при запуске их обоих, я еще не пробовал:
$err = mysql_error($con);
$id = mysql_insert_id($con);
2 ответа
Я использую mysql_error
, Я делаю так, потому что это больше соответствует проверке ошибок в других частях программы, и я буду знать, почему ошибка произошла, а не просто получила ложное значение.
mysql_error()
всегда будет выдавать ошибку, если операция вставки завершится неудачно, поэтому выборка insert_id на самом деле не является необходимой, насколько я вижу, если только она не нужна для дальнейшей обработки.
Ваш блок кода должен работать, однако руководство рекомендует запускать insert_id() сразу после выдачи запроса.
Примечание. Поскольку mysql_insert_id() действует для последнего выполненного запроса, обязательно вызовите mysql_insert_id() сразу после запроса, который генерирует значение.