-1

如何在WHERE IN(x,y)PHP 中使用 SQL 语句返回的数据?

                $sqlquery = "SELECT * FROM schedules WHERE userid IN ('35','101','45')";

                if ($test_stmt=$mysqli->prepare($sqlquery)) { //Get all data in schedule row
                    $test_stmt->execute(); //Execute the prepared query
                    $test_stmt->store_result(); //Store result
                    $test_stmt->fetch();
                    do something...

                }
                else {
                    return null;
                }

            }

SQL 查询返回正确的三个表行,我只是不确定如何使用 PHP 访问它们。

如何创建一个数组来存储查询返回的值?还是有更好的方法来存储这些数据以供以后操作?

谢谢

4

2 回答 2

2

最常见的方法是通过类似于以下的循环:

$results=array();
while($row=$test_stmt->fetch())
{
    $results[]=$row;
}

这会将行插入到结果变量中,该变量是一个数组。在循环结束时,数组将包含查询返回的所有内容的副本。

您还可以选择对结果中的特定列执行的操作,如下所示:

$results=array();
while($row=$test_stmt->fetch())
{
    $results[]['ID']=$row['ID'];
}

这假设结果中有一个名为“ID”的列。

于 2013-10-09T22:14:27.097 回答
0
//$test_stmt->store_result(); //not needed
$rows = $test_stmt->fetchAll(PDO::FETCH_ASSOC); //or other fetch mode

print_r($rows);  //$rows is an array of rows you can loop through
于 2013-10-09T22:18:07.767 回答