如果已经有这样的话题,对不起!
大家好!我在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($结果)可以工作吗?
我希望有人能帮助我,非常感谢那些阅读的人!