Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 获取mysql查询中所有匹配项的数组?_Php_Mysql_Sql_Wordpress - Fatal编程技术网

Php 获取mysql查询中所有匹配项的数组?

Php 获取mysql查询中所有匹配项的数组?,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,这是我当前的代码: $wonAwards = $altdb->get_var("SELECT achievement_id FROM user_1 WHERE isTold='false'"); 当前,$wonAwards设置为等于sql查询的第一个结果。是否可以将$wonAwards设置为等于查询所有结果的数组 //////////////////全功能 fu

这是我当前的代码:

$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>";
        }
    }
}
function加载wordpress头时调用的\u头函数()
if(is_user_logged_in()){//检查用户是否登录
全局$altdb;//wp全局数据库对象
$user\u info=wp\u get\u current\u user();
$wonAwards=$altdb->query(“从用户中选择成就\u id”。$user\u info->id.“WHERE isTold='false'”;//查询
如果(是数组($wonAwards))$hello='true';
如果(!is_数组($wonAwards))$hello='false';
如果($wonAwards!=''){
echo“jQuery(document).ready(function(){alert(''.$hello.'');});”;
}
}
}
至于检查我的查询结果是什么,我只是简单地更改了以下内容:

echo "<script>jQuery(document).ready( function(){alert('".$hello."');});</script>";
echo“jQuery(document).ready(function(){alert(“$hello.”);});”;
为此:

echo "<script>jQuery(document).ready( function(){alert('".$wonAwards."');});</script>";
echo“jQuery(document).ready(function(){alert(“$wonAwards.”);});”;

据我所知,您希望设置数组而不是等于
希望这能奏效:

$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\u real\u escape\u string()
那么,根据,
get\u var
将给您一个结果,
query
将给您一个结果数

您真正想要的(获得所有结果)可以通过
get_results
方法实现,因此您应该编写:

$wonAwards = $altdb->get_results("SELECT achievement_id 
                                FROM user_1
                               WHERE isTold='false'");

请尝试并告诉我们它是否有效,希望能有所帮助。

我们不知道
$altdb
是什么。$altdb只是一个包含数据库信息的对象,允许我建立连接并运行查询。我只需要知道如何从SELECT中获取数组作为结果query@ShahmeerNavid:通常查询的结果是一个数组,您的语句应该正常工作,我想问题在于
get\u var
,可能它只获取数组的第一个元素。如果你有它的代码,请发布它,另外,你怎么知道,
$wonAwards
只包含第一个结果,你是如何测试它的?@Mr.TAMER我也用以下代码尝试过:$wonAwards=$altdb->query(“从用户_1中选择成就\u id,其中isTold='false');它会产生相同的结果(我使用wordpress的全局数据库对象连接到数据库)。我将发布我的完整函数。你能解释最后一行吗?具体来说,参数('false'、'true'、…)正如我现在看到的代码,它的位发生了变化,我不知道wordpress的情况,但根据这个查询,让我们解释一下欢迎,文档总是正确的:)