我正在观看一个关于使用数据库制作菜单的视频教程。与视频中使用过程化PHP不同,我尝试使用准备语句面向对象方式来完成它。但是它并没有正常工作,我无法找出原因。
代码一直运行到第17行,然后出现以下错误:
致命错误:在C:\ wamp \ www \ widget_corp \ content.php的第17行调用非对象上的bind_param()成员函数
以下是代码:
在stmt->fetch()中使用预处理语句是否不可能?
代码一直运行到第17行,然后出现以下错误:
致命错误:在C:\ wamp \ www \ widget_corp \ content.php的第17行调用非对象上的bind_param()成员函数
以下是代码:
<?php
$query = $connection->prepare('SELECT menu_name, id FROM subjects ORDER BY position ASC;');
$query->execute();
$query->bind_result($menu_name, $sid);
while ($query->fetch()){
echo "<li>{$menu_name} {$sid}</li>";
$query2 = $connection->prepare('SELECT menu_name FROM pages WHERE subject_id = ? ORDER BY position ASC;');
$query2->bind_param("i", $sid); //This is line 17
$query2->execute();
$query2->bind_result($menu_name);
echo "<ul class='pages'>";
while ($query2->fetch()){
echo "<li>{$menu_name}</li>";
}
echo "</ul>";
}
$query->close();
?>
在stmt->fetch()中使用预处理语句是否不可能?