2012-11-16 70 views
3

我是新來的wordpress我嘗試創建表並向該表插入數據。所以在wordpress數據庫中我創建了名爲'album'的表格,然後我創建了名爲'my-codes'的目錄(在根目錄/與'wp-admin','wp-content',wp-includes'目錄相同的級別中)如何使用wordpress wpdb類插入數據

該目錄中我創建insert.php內然後,我添加以下代碼

<?php  
global $wpdb; 
$wpdb->insert($wpdb->album , array("ID"=>1, "Name"=>'something'), array("%d", "%s")); 

?> 

,但它給這個錯誤Fatal error: Call to a member function insert() on a non-object in C:\wamp\www\wordpress\my-codes\insert.php什麼錯誤,我做到了,請幫助我。

回答

1

你必須加載腳本中的WordPress的文件,讓您可以訪問WordPress的$wpdb對象:

require_once('../wp-load.php'); 

這將加載所有的WordPress,連功能,您不需要。如果你只想加載數據庫部分,read this article


更新 - 第一個參數的insert方法應該是你的表的名稱:

$wpdb->insert(
    'album', 
    array("ID"=>1, "Name"=>'something'), 
    array("%d", "%s") 
); 
+0

謝謝先生,我這樣做了,但現在,該記錄沒有插入表格。爲什麼??? – user1784592

+0

@ user1784592 - insert方法的第一個參數應該是一個字符串。查看我的答案更新。 –

+0

非常感謝! – user1784592

0
require (dirname(dirname(__FILE__)) . '/wp-blog-header.php'); 
require (ABSPATH . WPINC . '/compat.php'); 
require (ABSPATH . WPINC . '/functions.php'); 
require (ABSPATH . WPINC . '/classes.php'); 

require_wp_db(); 
global $wpdb; // Look look! Over here! line 270 in wp-settings.php 

if (!empty($wpdb->error)) 
     dead_db(); 

//Execute your query here 
0

我會建議使用WordPress Options API,而不是創建一個自定義的表,除非選項不符合您的需求。此外,將所有代碼放入主題的functions.php。這樣,您不需要從外部加載任何其他WordPress文件。如果您的代碼位於functions.php中,它們已經自動加載給您。

下面是如何存儲使用選項數據庫中的數據(從上面鏈接的WP法典條款而採取的)一個簡單的例子:

// Create an option to the database 
add_option($option, $value = , $deprecated = , $autoload = 'yes'); 

// Removes option by name. 
delete_option($option); 

// Fetch a saved option 
get_option($option, $default = false); 

// Update the value of an option that was already added. 
update_option($option, $newvalue); 

選項爲實現更容易,比直接數據庫容易一般不易出錯訪問。 :)

相關問題