Я пытаюсь сделать menu-submenu с php & MySQLi. У меня есть эта таблица: Создание PHP-подменю с MySQLi
И у меня есть этот PHP код:
function my_menu($parent_id=0){
$connection = mysql_connect("localhost","root","root");
mysql_select_db("a_personality",$connection);
$query = mysql_query("SELECT * FROM categories WHERE parent_id = {$parent_id}");
if(mysql_num_rows($query)){
echo "<ul>";
while($res = mysql_fetch_assoc($query)){
echo "<li>";
echo $res['name'];
dispay_menu($res['cat_id']);
echo "</li>";
}
echo "</ul>";
}
}
Но я должен написать его с MySQLi, и я сделал это:
function dispay_menu($mysqli_conn,$parent_id=0){
$query = $mysqli_conn->prepare("SELECT cat_id,name,parent_id FROM categories WHERE parent_id = ?");
$query->bind_param('i',$parent_id);
$query->execute();
$query->bind_result($cat_id_db,$name_db,$parent_id_db);
if($query->num_rows){
echo "<ul>";
while($query->fetch()){
echo "<li>";
echo $name_db;
echo "<script>alert('".$parent_id_db."');</script>";
dispay_menu($mysqli_conn,$parent_id_db);
echo "</li>";
}
echo "</ul>";
}
}
Функция с MySQLi Я вызываю так: dispay_menu ($ mysqli_conn); Проблема в том, что моя функция с mysqli не работает, в чем проблема?
Чем вы!
Что значит «не работает». Любые ошибки? Любые предупреждения? – slugonamission
Следующие переменные не определены в этой функции display_menu: $ cat_id_db, $ name_db, $ parent_id_db. Вот почему, может быть, ваша функция не выполняется правильно. Вы можете либо определить эти переменные внутри этой функции, либо передать их в качестве параметров этой функции. –
если я удалю if ($ query-> num_rows), то я получаю ошибку. Неустранимая ошибка: вызовите функцию-член bind_param() для не-объекта в C: \ xampp \ htdocs \ ... – user3297094