我是mysqli的新手,我写了一个函数如下。mysqli和提取数据
1 -我不能为SELECT *
查询找到一种方式,并具有bind_result
每一列的值同名变量分配。 (#row存储到$name
例如name
列值)
我认为bind_result()
有一个SELECT *
查询中没有功能?
2 -所以我尝试了另一个选项,获取所有行并通过循环手动将它们分配给适当的变量。我想我应该用$query->fetch_all()
或$query->fetch_assoc()
的循环,但我有这种遭遇:
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)
and 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
那么创建了什么mysqli! – revo 2013-04-11 15:34:31
哦,是的,意图都很好。但实施变成了一场噩梦。所以你可以从你面临的问题中看出来。 – 2013-04-11 15:44:31
很好的回答,我正在开关! @revo如果它回答了您的问题,那么接受一个答案(带有该复选标记)是一种很好的做法 – michaellindahl 2013-08-20 03:01:02