如何使用mysqli_stmt_bind_result选择所有数据库信息

时间:2018-11-09 18:02:10

标签: php

如果已经有这样的话题,对不起!

大家好!我在Google中发现,在“ mysqli_stmt_bind_result”的情况下,还有另一种存储查询结果的程序方式,在某些情况下,有些服务器的“ mysqli_stmt_bind_result”有效,而“ mysqli_stmt_get_result”无效。我想更好地了解如何使用bind_result,有人可以向我解释以下某些代码变量的原因。

<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
if (!$link) {
    printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}
if ($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
    mysqli_stmt_execute($stmt);
    mysqli_stmt_bind_result($stmt, $col1, $col2); #################¨¨¨¨¨¨$$$$$$$$$$$  This Line ############$$$$$$$$$$$$¨¨¨¨¨¨¨¨
    while (mysqli_stmt_fetch($stmt)) {
        printf("%s %s\n", $col1, $col2);
    }
    mysqli_stmt_close($stmt);
}
mysqli_close($link);
?>

为什么创建了$ col1和$ col2变量?每个人在$ stmt中存储一个bd列,对吗?必须无处创建这样的变量?

($stmt = mysqli_prepare($link, "SELECT Code, Name FROM Country ORDER BY Name LIMIT 5"))

是2列“代码和名称”,在这样的查询中:

"SELECT * FROM Country ORDER BY Name LIMIT 5"

由于未指定列数,我该怎么办?

为什么在mysqli_stmt_fetch中存储$ stmt?您不能在我们通过的“ mysqli_stmt_get_result”中做同样的事情:

$result = mysqli_stmt_get_result($stmt);
$row = mysqli_fetch_assoc($result);

如果我分配mysqli_stmt_bind_result($ stmt,$ col1,$ col2);例如:$ result = mysqli_stmt_bind_result($ stmt,$ col1,$ col2); $ row = mysqli_stmt_fetch($结果)可以工作吗?

我希望有人能帮助我,非常感谢那些阅读的人!

0 个答案:

没有答案