отловить в php duplicate key

12
E
На сайте с 01.10.2017
Offline
125
#11
webinfo #:
Я так и не понял, почему mysqli_query не возвращает false.
Наверное, не определен уникальный ключ для требуемого поля. Это обязательно нужно исправить.
Домены на продажу: https://p20.ru/collection/domains-for-sale
S3
На сайте с 29.03.2012
Online
366
#12
estic #:
Наверное, не определен уникальный ключ для требуемого поля. Это обязательно нужно исправить.

В таком случае бы у вас проходила вставка новой записи прекрасно.  Кстати советую обратить внимание на это

Return Values ¶
Returns false on failure. For successful queries which produce a result set, such as SELECT, SHOW, DESCRIBE or EXPLAIN, mysqli_query() will return a mysqli_result object. For other successful queries, mysqli_query() will return true.

Errors/Exceptions ¶
If mysqli error reporting is enabled (MYSQLI_REPORT_ERROR) and the requested operation fails, a warning is generated. If, in addition, the mode is set to MYSQLI_REPORT_STRICT, a mysqli_sql_exception is thrown instead.

https://www.php.net/manual/en/mysqli.query.php
Вообще конечно корявая документация - даже ссылку не поставишь на конкретный абзац)

W1
На сайте с 22.01.2021
Offline
306
#13
Sly32 #:
даже ссылку не поставишь на конкретный абзац
PHP: mysqli::query - Manual
Мой форум - https://webinfo.guru –Там я всегда на связи
E
На сайте с 01.10.2017
Offline
125
#14
Sly32 #:
В таком случае бы у вас проходила вставка новой записи прекрасно.

Автор не описал подробно результат вставки, а просто написал, что "код продолжает выполняться".

Sly32 #:
Кстати советую обратить внимание на это

Я хорошо знаю расширение mysqli. С этим расширением обычно используются "пользовательские" исключения, а показанные возможности предназначены прежде всего для отладки.

S3
На сайте с 29.03.2012
Online
366
#15
estic #:
Автор не описал подробно результат вставки, а просто написал, что "код продолжает выполняться".

Описал-

так как в этом случае сохраняется файл, который не попадает в базу, а я получаю неверный ответ от скрипта, что запись в базу завершена успешно
E
На сайте с 01.10.2017
Offline
125
#16
Sly32 #:
Описал

Это описание касалось варианта, который он не использует. Вполне возможно, что это чисто "теоретическая выкладка", а не описание опыта.

Я не хочу спорить на такой зыбкой почве. Просто предположил самый очевидный вариант. Про странности мы ранее уже высказывались.

I7
На сайте с 12.06.2008
Offline
372
#17
aramid92 #:
Errno тоже делает запрос и не подходит, так как статус может быть связан с другим запросом, нет соответствия

Не может такого быть. mysqli_errno() возвращается код ошибки последнего запроса. Если вы проверяете код сразу после запроса, то код ошибки от этого запроса и будет. То есть если mysqli_query возвращает не true, то проверяете код ошибки, и всё.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий