Я пытаюсь понять и завладеть глобальным объектом $ wpdb, но не могу заставить его работать. В основном, я пытаюсь вставить одну запись в пользовательскую таблицу в WordPress DB. Вместо того, чтобы создавать свою собственную строку подключения и использовать ее, я видел, что объект Global $ wpdb делает трюк для нас. Я следовал примеру кода и пытался сделать это самостоятельно, но не смог. Я не получаю никаких ошибок, но запись также не вставляется. Это были часы, рассматривающие проблему. Ваша помощь будет оценена по достоинству. Заранее спасибо.
Код:
<?php class Listings{ private $buisnessName; private $contactName; private $categories; private $websiteURL; private $telephoneNum; private $address; private $socialLinks; private $shortDescription; private $images; private $fullDescription; private $tags; function __construct($buisnessName, $contactName, $categories, $websiteURL, $telephoneNum,$address,$socialLinks, $shortDescription, $images, $fullDescription,$tags){ $this->buisnessName = $buisnessName; $this->contactName = $contactName; $this->categories = $categories; $this->websiteURL = $websiteURL; $this->telephoneNum = $telephoneNum; $this->address = $address; $this->socialLinks = $socialLinks; $this->shortDescription = $shortDescription; $this->images = $images; $this->fullDescription = $fullDescription; $this->tags = $tags; } function Insert_Listing(){ global $wpdb; $wpdb->insert('wp_listings_info', array("Buisness_Name" => $this->buisnessName,"Contact_Name" => $this->contactName, "Categories" => $this->categories, "Website_URL" => $this->websiteURL, "Telephone_Number" => $this->telephoneNum, "Address" => $this->address, "Social_Network_Links" => $this->socialLinks, "Short_Description" => $this->shortDescription, "Images" => $this->images, "Full_Description" => $this->fullDescription, "Tags" => $this->tags), array("%s", "%s","%s", "%s","%s", "%s","%s", "%s","%s", "%s","%s")); } } ?>
Структура таблицы:
CREATE TABLE IF NOT EXISTS `wp_listings_info` ( `L_ID` int(11) NOT NULL AUTO_INCREMENT, `Business_Name` varchar(100) NOT NULL, `Contact_Name` varchar(100) NOT NULL, `Categories` varchar(100) NOT NULL, `Website_URL` varchar(150) NOT NULL, `Telephone_Number` varchar(20) NOT NULL, `Address` varchar(250) NOT NULL, `Social_Network_Links` varchar(500) NOT NULL, `Short_Description` text NOT NULL, `Images` varchar(100) NOT NULL, `Full_Description` text NOT NULL, `Tags` varchar(500) NOT NULL, PRIMARY KEY (`L_ID`) )
и я вызываю объект класса следующим образом:
$listingObj = new Listings($buisnessName, $contactName, $categories, $websiteURL, $telephoneNum,$address, $socialLinks, $shortDescription, $images, $fullDescription,$tags); $listingObj->Insert_Listing();
Снова я говорю, что я вообще не получаю никаких ошибок. Это просто код не вставляет запись.
РЕДАКТИРОВАТЬ:
Хорошо, после отладки я получаю эту ошибку, но при каждом запуске скрипта вставляются 2 записи с одинаковым значением. Хотя функция Insert только вызывается один раз.
Я получаю эту ошибку:
WordPress database error: [Unknown column 'Buisness_Name' in 'field list'] INSERT INTO wp_listings_info ( Buisness_Name, Contact_Name, Categories, Website_URL, Telephone_Number, Address, Social_Network_Links, Short_Description, Images, Full_Description, Tags ) VALUES ( 'My Buisness Name', 'My Buisness Contact Name', 'My Categories', 'My Website URL','1234567','My Address','My Social Links', 'My Short Descriptions','My images Path','My Full Description', 'My Tags comma seperated' )