Проблемы с mysql при написании плагина
-
Здравствуйте. Я пишу собственный плагин, который будет позволять пользователям вносить записи в создаваемую этим плагином при установке таблицу в БД блога.
Первая проблема встретилась мне при попытке писать в БД, используя $wpdb. Я подключил wp-load.php, глобализировал $wpdb, но все равно при попытке использовать$wpdb->query
получал ошибку Fatal error: Call to a member function query() on a non-object in #строки, в которой указана переменная с вызовом select-запроса через$wpdb->query
. Промучившись в поисковиках с поиском решения для этой проблемы, я её оставил. Все, что я нашел (как в русскоязычном, так и в англоязычном интернете) — это советы глобализировать$wpdb
и подключить файлы вроде wp-load.php. Не помогло.С этой проблемой я справился в обход, явно указав данные доступа к БД в переменной $db, и используя следующий синтаксис:
$query = mysql_query('query', $db);
. Это помогло, данные, отправляемые из формы стали записываться в БД. Но тут я встретился со второй проблемой, причин возникновения которой понять никак не могу. Каждый раз при добавлении новой записи в БД, она перезаписывала старую, несмотря на то, что для таблицы явно включен auto_increment и запрос на запись отправляется со значением NULL для поля id, что в теории (и на практике в не-вордпрессовском php-скрипте) работает как положено — добавляет новую запись в БД, не заменяя там всех имеющихся.
Для эксперимента я даже вставил несколько записей-строк в таблицу непосредственно через phpmyadmin, они записались корректно, и исчезли без следа, когда я попытался добавить запись через форму, выводимую на страницу моим плагином. В БД осталась только эта единственная запись, которая по-прежнему перезаписывается, если попытаться отправить через форму еще одну. В чем проблема — ума не приложу, и очень надеюсь, что здесь мне смогут помочь. Надеюсь, я описал все достаточно подробно, если нужно, уточню все необходимое. Заранее спасибо.
- Тема «Проблемы с mysql при написании плагина» закрыта для новых ответов.