Wordpress MySQL查询不起作用

时间:2013-06-21 09:48:53

标签: php mysql wordpress

出于某种原因,下面的代码无法使用,我只是得到一个空白页 - 我一直在拔出这一个,我的帮助将不胜感激。

<?php if ($_GET['id'] >= '1') { 

    $data_entry_id = $_GET['id'];

    $current_user_id = get_current_user_id();


    $row_kids = $wpdb->query("SELECT * FROM reg_children
                      WHERE children LIKE '%$data_entry_id%'
                      AND uid='$current_user_id'");


     if (!empty($rows_kids)) {

         $wpdb->query("INSERT INTO reg_children VALUES ('' , '$data_entry_id',
         '$current_user_id' )");

     }



}?>

提前感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

你需要这样

$row_kids = $wpdb->query("SELECT * FROM reg_children
                          WHERE children LIKE '%$data_entry_id%'
                          AND uid='$current_user_id'");

您只使用单引号进行网格处理,并确保$ wpdb已全局声明。

插入查询也应该像

$wpdb->query("INSERT INTO reg_children VALUES (NULL , '$data_entry_id',
             '$current_user_id' )");

主要是你的if语句应该像

if (!empty($totalRows_kids)) {

你忘了关闭大括号并确保你定义了$ totalRows_kids ...我认为这是来自select query的结果数

答案 1 :(得分:0)

  1. 使用双引号引用查询。你的字符串输错了。
  2. 您的uid应为数字,因此无需输入单引号。
  3. 更改

    'SELECT * FROM reg_children WHERE children LIKE '%$data_entry_id%' AND uid='$current_user_id''
    

    为:

    "SELECT * FROM reg_children WHERE children LIKE '%$data_entry_id%' AND uid=$current_user_id";
    

    插入查询应如下所示:

    "INSERT INTO reg_children VALUES ('' , $data_entry_id, $current_user_id )"