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