使用"mysql_fetch_row"从数据库中检索结果并使用PHP和mysqli插入到数组中?

Jon*_*han 5 php mysql arrays mysqli loops

我需要从几行中检索数据,然后将结果插入到枚举数组中,然后我可以使用"for"循环来回显它...

我有这个(我已经连接到数据库):

$genres_sql = 'SELECT genreID FROM genres WHERE imdbID = ?';
if ($stmt->prepare($genres_sql)) {
    // bind the query parameters
    $stmt->bind_param('i', $movieid);
    // bind the results to variables
    $stmt->bind_result($genre);
    // execute the query
    $stmt->execute();
    $stmt->fetch();
}
Run Code Online (Sandbox Code Playgroud)

在这里,我将第一个结果(行)放入变量中.但是我需要将它插入到枚举数组中,以便我可以使用以下方法回显每个结果:

if (!empty($genre)) {
for ($i = 0; $i + 1 < count($genre); $i++)
{
    echo $genre[$i].', '; 
}
echo $genre[$i];
}
Run Code Online (Sandbox Code Playgroud)

这将回应:$genre[0], $genre[1], $genre[2],依此类推,直到最后一个.

我知道mysql_fetch_row可以做的工作,但我是编程的新手,所以我需要一个非常详细的解释..谢谢!!

Ros*_*oss 1

您可以使用以下方法循环MySQLi_Statement::fetch

$stmt->bind_result($genre);
$stmt->execute();
$genres = array();
while ($stmt->fetch()) {
    $genres[] = $genre;
}
Run Code Online (Sandbox Code Playgroud)

基本上fetch提供了一个迭代器,while可用于迭代每个结果。bind_result(在本例中)中的变量$genre在每次迭代时都会重新分配。