Задать вопрос

Как преобразовать wpdb ошибки?

Например вношу новое поле, а мне возвращает

<strong>WordPress database error:</strong> [Duplicate entry 'test 2. 2' for key 'name']

Как обработать этот код, чтобы к примеру вывести "Поле с таким именем существует!"
  • Вопрос задан
  • 334 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
orlov0562
@orlov0562 Куратор тега PHP
I'm cool!
Зависит от того как ты делаешь запрос

if ($res = $wpdb->query( $wpdb->prepare('INSERT IGNORE INTO tbl SET name = %s', 'test' ))) {
echo 'Все ок';
} else {
echo 'Уже существует';
}


или так:

$wpdb->hide_errors();
if ($res = $wpdb->query( $wpdb->prepare('INSERT INTO tbl SET name = %s', 'test' ))) {
echo 'Все ок';
} else {
echo strpos($wpdb->last_error,'Duplicate entry') ? 'Уже существует' : $wpdb->last_error;
}


как-то так. Все методы с примерами хорошо описаны тут: https://codex.wordpress.org/Class_Reference/wpdb
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы