这是我目前的代码:
$wonAwards = $altdb->get_var("SELECT achievement_id
FROM user_1
WHERE isTold='false'");
目前,$wonAwards
设置为等于sql查询的第一个结果。是否可以将$wonAwards
设置为等于查询所有结果的数组?
//////////////////全功能
function the_header_function(){ //called when wordpress header is loaded
if (is_user_logged_in()){ //checks if user is logged in
global $altdb; //wp global database object
$user_info = wp_get_current_user();
$wonAwards = $altdb->query("SELECT achievement_id FROM user_".$user_info->ID." WHERE isTold='false'"); //query
if(is_array($wonAwards)) $hello='true';
if(!is_array($wonAwards)) $hello='false';
if($wonAwards != ''){
echo "<script>jQuery(document).ready( function(){alert('".$hello."');});</script>";
}
}
}
至于检查我的查询结果是什么,我只是改变了这个:
echo "<script>jQuery(document).ready( function(){alert('".$hello."');});</script>";
到此:
echo "<script>jQuery(document).ready( function(){alert('".$wonAwards."');});</script>";
答案 0 :(得分:1)
嗯,根据Documentation Here,get_var
会给你一个结果,而query
会给你一些结果。
你真正想要的(获得所有结果)可以通过get_results
方法实现,所以你应该写:
$wonAwards = $altdb->get_results("SELECT achievement_id
FROM user_1
WHERE isTold='false'");
尝试并告诉我们它是否有效,希望这有用。
答案 1 :(得分:0)
据我了解你想设置数组而不是等于
希望这会奏效:
$wonAwards = $altdb->get_var("SELECT achievement_id
FROM user_1
WHERE isTold
IN ('false', 'true', 'another_value', 'some_other')");
@Shahmeer Navid的编辑 如果您在数组中有一些数据,如
$array = array("data1", "data2", "data3");
$implode = implode("', '", $array);
//Output or $implode
data1', 'data2', 'data3
//apply on query
$wonAwards = $altdb->get_var("SELECT achievement_id
FROM user_1
WHERE isTold
IN ('$implode')");
PS 如果您从客户端获取数据,也可以使用mysql_real_escape_string()