我試圖更新我的插件。所以我必須升級mysql_table。但是當嘗試新的列時,程序會得到異常。向wordpress數據庫添加新列
這是我目前的表:
$sql = "CREATE TABLE {$table_name} (
say_id int(11) not null AUTO_INCREMENT,
customer_mail text not null,
customer_name text not null,
customer_messagge text not null,
messagge_date_time datetime not null,
PRIMARY KEY (say_id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1";
require_once(ABSPATH . "wp-admin/includes/upgrade.php");
dbDelta($sql);
現在我添加科拉姆更多的一個表。我嘗試更改表,這工作一次,並添加一列,但更多的刷新我得到這個錯誤。
這是mycode的
$wpdb->query("ALTER TABLE wp_customer_say ADD say_state INT(1) NOT NULL DEFAULT 1");
這是我的錯誤
WordPress數據庫錯誤:[重複列名 'say_state'] ALTER TABLE wp_customer_say ADD say_state INT(1)NOT NULL DEFAULT 1
我看到這個錯誤,並試試這個;
$query = $wpdb->query("select * from wp_customer_say");
$respond = mysql_num_fields($query);
$column_array = array();
for($i = 0; $i < $respond ; $i++):
$column_array[] = mysql_field_name($query,$i);
endfor;
if(!in_array("say_state",$column_array)):
$wpdb->query("ALTER TABLE wp_customer_say ADD say_state INT(1) NOT NULL DEFAULT 1");
endif;
我得到這個錯誤。
Warning: mysql_num_fields() expects parameter 1 to be resource, integer given in
請幫忙。謝謝。 對不起,壞的英語。
這是因爲你的數據庫做它的設計目的......持久性 – AmazingDreams