我的代码有一个非常奇怪的问题 . 我试图使用$ 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 ???