我想运行SELECT查询并将数据提取为associative array
并回显获取的数据。
在程序风格中,我会使用mysqli_fetch_array()
。但我现在正在尝试OOP style
。
我试过这段代码:
$con= new mysqli('localhost','root','','afiliate');
$query="SELECT * FROM product WHERE ID=? ";
$stmt->bind_param("i",$ID); /* $ID has a value, it's ok */
$stmt->execute();
$result=$con->query($query);
while($row=$result->fetch_row()){
echo $row['name'];
}
我得到的错误是:
致命错误:在第18行的/opt/lampp/htdocs/afiliate/product_details_individual.php中调用boolean上的成员函数fetch_row()
我如何获取数据并回显?
答案 0 :(得分:1)
你正在做两件相互矛盾的事情
$con= new mysqli('localhost','root','','afiliate');
$query="SELECT * FROM product WHERE ID=? ";
$stmt->bind_param("i",$ID); /* $ID has a value, it's ok */
$stmt->execute();
所以此时$stmt
是mysql_stmt object。如果您安装了mysqlnd,则可以执行此操作
$result = $stmt->get_result();
while($row=$result->fetch_row()){
echo $row['name'];
}
此行无法在此代码块
中使用$result=$con->query($query);
您传递的SQL是针对预准备语句的,不能使用query()
直接执行。您的查询将失败(当发生执行错误时返回false
),结果,您收到了您提到的错误