2013-09-04 3 views
1

Я работаю на плагин WordPress в настоящее время, и уже создали таблицу с моим плагином в следующем стиле:WordPress wpdb-> вставка/обновление не работает

$sql = "CREATE TABLE IF NOT EXISTS $table_name (
    id INTEGER NOT NULL AUTO_INCREMENT, 
    post_id INTEGER NOT NULL, 
    lat FLOAT NOT NULL, 
    lng FLOAT NOT NULL, 
    str VARCHAR(55), 
    plz INTEGER, 
    ort VARCHAR(20), 
    UNIQUE KEY id (id)) 

Я могу видеть, что БД существует через «MySQL Query Browser» ...

И хочу, чтобы вставить некоторые Infos в таблицу со следующим кодом:

(ул, плз, орт не нужны, поэтому я хотел, чтобы они еще не заполнены ...)

И я верю, что идентификатор будет увеличиваться автоматически каждый раз, когда я что-то вставляю, даже если я не совсем уверен, что мне даже нужен идентификатор как ключ, потому что у каждого сообщения будет только одна запись, так что post_id может быть ключ тоже ...

function install_data($latlng, $post_id) { 
    global $wpdb; 

    if (! $wpdb->update($table_name, array('lat' => $latlng[0], 'lng' => $latlng[1]), array('post_id' => $post_id))) 
    {  
    $wpdb->insert($table_name, array('post_id' => $post_id, 'lat' => $latlng[0], 'lng' => $latlng[1])); 
    } 
$wpdb->show_error(); 
$wpdb->print_error(); 
} 

Я попробовал обе ошибки .. Но не видел в консоли ... ни в error_log ...

Я также попытался удалить функцию обновления снова, но он все еще ничего не помог ...

ОК ..

Это немного странно, но я решил половину его XD

function install_data($latlng, $post_id) { 
    global $wpdb; 

    require_once(ABSPATH . 'wp-config.php'); 

    if (! $wpdb->update($table_name, array('lat' => $latlng[0], 'lng' => $latlng[1]), array('post_id' => $post_id))) 
    {  
    $wpdb->insert($table_name, array('post_id' => $post_id, 'lat' => $latlng[0], 'lng' => $latlng[1])); 
    } 
$wpdb->show_error(); 
$wpdb->print_error(); 
} 

Теперь это только обновление, которое не работает ...

И он перестал работать снова .. А у меня просто не знаю, почему ... Кроме чтения не работает, либо ...

function read_data($post_id) { 
    global $wpdb; 

    require_once(ABSPATH . 'wp-config.php'); //Just a try, cause insert worked afterwards... for a short time -.- 

    $latlng = $wpdb->get_results("SELECT lat, lng FROM $table_name WHERE post_id = '$post_id'"); 

    return $latlng; 
} 
+0

$ wpdb-> update вернет false, поэтому используйте === false – ShiftyThomas

ответ

0
 function socialMediaFacebook(){ 
       require_once(ABSPATH .'/wp-load.php'); 
       require_once(ABSPATH .'/wp-config.php'); 
       global $wpdb; 
       $idvideonova = 0; 
       $app_id = $_POST['app_id']; 
       $app_link = $_POST['app_link']; 
       $app_caption = $_POST['app_caption']; 
       $app_description = $_POST['app_description']; 
        $table_name = $wpdb->prefix . "tableBloo; 
        $rows_affected = $wpdb->insert($table_name, array('id' => $idvideonova, 'app_id' => $app_id, 'app_link' => $app_link, 'app_caption' => $app_caption, 'app_description' => $app_description)); 
        $lastid = $wpdb->insert_id;  
         echo " <script type=\"text/javascript\"> 
            alert('Social Media Settings Saved'); 
            </script> 
           "; 

я также опыт, который .. хехе попытаться повторить поиск, где вы находитесь. или использовать мои коды .. сообщение - это имя текстового поля. tab