ワードプレスのテーブル操作について、
/** * レコードの追加や削除を行う クラス * * */ //$h= new data_handle; //$h->data_add("tenman","test"); //$h->data_change("raindrops-tenman","ahho"); //$h->data_delete("raindrops-tenman","ahho"); class data_handle{ var $option_id; var $option_name; var $blog_id= 0; var $option_value; var $autoload= "yes"; var $field_name= array(); /** * $var= "dangerous'"; // raw data that may or may not need to be escaped * $id = some_foo_number(); // data we expect to be an integer, but we're not certain * * $wpdb->query( $wpdb->prepare( "UPDATE $wpdb->posts SET post_title= %s WHERE ID= %d", $var, $id ) ); */ /** * コンストラクタ * * */ function __construct(){ global $wpdb; $this->option_id = 'null'; $this->blog_id= 0; $this->option_name= ''; $this->option_value= ''; $this->autoload= ''; $this->field_name= $wpdb->get_col_info('name'); } function __destruct(){ /** * word press オブジェクトキャッシュの作成 * * * う * */ /* $cat_all= get_terms( 'category', 'fields=all&get=all&orderby=term_id' ); wp_cache_replace( 'all_category_all', $cat_all, 'category' );*/ } /** * レコードの追加 * * */ function data_add($name="",$text= "",$autoload= 'yes'){ global $wpdb; $data_array= array('option_id'=>'null','blog_id'=>0,'option_name'=>"raindrops_".$name,'option_value'=>$text,'autoload'=>$autoload); $wpdb->insert( TMN_PLUGIN_TABLE, $data_array ); } /** * フィールドの値の変更 * * */ function data_change($field,$val){ global $wpdb; /* $id = intval($id); $field = sanitize_sql_orderby($field); $val = $wpdb->escape($val);*/ //$wpdb->show_errors(); $data_array= array('option_value'=> $val); $where_array= array('option_name'=> $field); $wpdb->update( TMN_PLUGIN_TABLE, $data_array, $where_array ); //$wpdb->flush(); } /** * レコードの削除 * * */ function data_delete($field,$val){ global $wpdb; $wpdb->query( $wpdb->prepare("DELETE FROM `".TMN_PLUGIN_TABLE."` WHERE `".TMN_PLUGIN_TABLE."`.`option_name`= %d and `option_value`= %s LIMIT 1",like_escape($field),like_escape($val)) ); } }