Wordpress:将变量传递给$ wpdb会返回NULL

时间:2015-07-06 21:52:24

标签: php wordpress csv wpdb

我的代码存在一个非常奇怪的问题。我试图使用$ wpdb-get_row从数据库中获取一行,但是当我从CSV中获取值时它不起作用。

在我的下面的代码中,当我将$ unqiue_id传递给查询时,它返回NULL。 $ unqiue_id来自CSV并正确回显正确的数字。

如果我创建自己的变量并手动设置ID,就像我在下面的$ manual_id代码中所做的那样,它可以工作。

为什么$ unique_id不起作用?

global $wpdb;
    $error_msg = '';
    if( isset($_POST['sbmt'])) {
        $ext = substr($_FILES['selectcsv']['name'],(strlen($_FILES['selectcsv']['name'])-3),3);
        if($ext!="csv") {
            $error_msg = 'Please select only CSV file';
        } else {
        $selectcsv = $_FILES['selectcsv'];
        if (($handle = fopen($selectcsv['tmp_name'], "r")) !== FALSE) { 
            fgetcsv($handle, 0);
            while (($row = fgetcsv($handle, 0, ",")) !== FALSE) {
                $unqiue_id = (int)$row[89]; //echo $unique_id will display 12
                $manual_id = 12;
                $get_row1 = $wpdb->get_row("SELECT * FROM users WHERE id=".$unqiue_id);
                $get_row2 = $wpdb->get_row("SELECT * FROM users WHERE id=".$manual_id);
                var_dump($get_row1); //returns NULL
                var_dump($get_row2); //returns the correct results.         
            }           
            fclose($handle);

        }
      }
    }

如果我使用标准的mysql运行此代码,它可以工作:

$get_row_result = mysql_query("SELECT * FROM users WHERE id=".$unqiue_id);
$get_row = mysql_fetch_array($get_row_result);
$get_row = $prior_rate["id"];
var_dump($get_row); //returns the correct results.  

为什么它不适用于$ wpdb ???

0 个答案:

没有答案