我是mysqli的新手,我写了一个如下的函数。
1 -我找不到SELECT *
查询方法,不得不bind_result
将每个列值分配给同名变量。(例如name
#row 的列值存储到$name
)
我认为bind_result()
对SELECT *
查询没有功能?
2 -所以我尝试了另一种选择,获取所有行并通过循环手动将它们分配给适当的变量。我想我应该使用$query->fetch_all()
or $query->fetch_assoc()
for 循环,但我遇到了这个:
Fatal error: Call to undefined method mysqli_result::fetch_all()
或者
Fatal error: Call to undefined method mysqli_result::fetch_assoc()
但是我做了一个phpinfo()
并看到 mysqlnd 已启用并且 php 版本是 5.4.7(运行 XAMPP v1.8.1)
并且3-我最终所做的是下面的想法也不起作用。
function the_names($name)
{
global $db;
if($query = $db->prepare("SELECT * FROM users where name=?"))
{
$query->bind_param('s', $name);
if($query->execute())
{
$query->store_result();
if($query->num_rows > 1)
{
while($row = $query->fetch())
{
echo $row['name']; // Here is the problem
}
}
else
echo "not valid";
$query->close();
}
}
}
我需要一种方法来存储所有获取的数据bind_result()
,或者将它们存储在一个数组中以供以后使用,最好同时了解两者。tnx