Php Wordpress:将变量传递到$wpdb中返回NULL
我的代码有一个非常奇怪的问题。我试图使用$wpdb-get_row从数据库中获取一行,但是当我从CSV获取值时,它不起作用 在下面的代码中,当我将$unqiue_id传递到查询中时,它返回NULL$unqiue_id来自CSV,并正确地回显正确的数字 如果我创建自己的变量并手动设置ID,就像我在下面的$manual_ID代码中所做的那样,它可以工作 为什么$unique_id不起作用Php Wordpress:将变量传递到$wpdb中返回NULL,php,csv,wordpress,Php,Csv,Wordpress,我的代码有一个非常奇怪的问题。我试图使用$wpdb-get_row从数据库中获取一行,但是当我从CSV获取值时,它不起作用 在下面的代码中,当我将$unqiue_id传递到查询中时,它返回NULL$unqiue_id来自CSV,并正确地回显正确的数字 如果我创建自己的变量并手动设置ID,就像我在下面的$manual_ID代码中所做的那样,它可以工作 为什么$unique_id不起作用 global $wpdb; $error_msg = ''; if( isset($_POST[
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一起使用?请尝试此操作并发表评论:
$get\u row=$wpdb->get\u results(“从用户中选择*,其中id=“.unqiue\u id.”或id=“.manual\u id”)代码>@SerCrAsH这将起作用,因为$manual\u id起作用$唯一的_id没有。我在代码中放置了$manual_id变量,以显示$unqiue_id和var_dump($unqiue_id)是如何发生奇怪的事情的转换后的代码>输出与var\u dump($manual\u id)相同代码>?是的。我可以强制转换为int或strings-$unqiue\u id正确回音,只是在查询中不起作用。我的最后一个,可以$wpdb->get\u row
通过引用返回一个覆盖$get\u row1
的对象?尝试注释该行($get\u row2=…
)