-4

私はこのつながりを持っています

    <?php
    $db_host = 'localhost';
    $db_user = 'root';
    $db_pass = '';
    $db_name = 'databasename';
    $conn = mysql_connect($db_host,$db_user,$db_pass) or die(mysql_error());
    mysql_select_db($db_name,$conn);
    mysql_query("SET NAMES 'utf8'");
    mysql_query('SET CHARACTER SET utf8');
    ?>

しかし、私の古い接続はこのコードでは機能しません

        //connect to database
$link = mysqli_connect('localhost','root','');
mysqli_select_db($link,'databasename');
//get all rows
$query = mysqli_query($link,'SELECT * FROM categories');
while ( $row = mysqli_fetch_assoc($query) )
{
    $menu_array[$row['catid']] = array('catname' => $row['catname'],'parentid' => $row['parentid']);
    $menu_array[$row['catid']] = array('catname' => $row['catname'],'parentid' => $row['parentid'],'catid'=>$row['catid']);
}
//recursive function that prints categories as a nested html unorderd list
function generate_menu($parent)
{
$has_childs = false;
//this prevents printing 'ul' if we don't have subcategories for this category
global $menu_array;
    //use global array variable instead of a local variable to lower stack memory requierment
    foreach($menu_array as $key => $value)
    {
        if ($value['parentid'] == $parent)
        {
            //if this is the first child print '<ul>'
            if ($has_childs === false)
            {
                //don't print '<ul>' multiple times
                $has_childs = true;
                echo '<ul>';
            }
            echo '<li><a href="category.php?catid='. $value['catid'] . '">' . $value['catname'] . '</a>';

私のエラーはこのコードの間にあると思います..最後に、mysqli_connectをmysql_connectに置き換えるだけです

while ( $row = mysqli_fetch_assoc($query) )
{
    $menu_array[$row['catid']] = array('catname' => $row['catname'],'parentid' => $row['parentid']);
}
4

1 に答える 1

2

mysqli_connect と mysqli_select_db の使用を検討する必要があります。

また、次のように変更$query = mysqli_query($link,'SELECT * FROM categories');します。

$query = mysqli_query($link,'SELECT * FROM `categories`');

問題は接続である可能性があると思います。他のすべては問題ないように見えます。通常の mysql_conn で mysqli オブジェクトにアクセスできるとは思いません。

試してみます

また、mysql に変更しないでください。今では古すぎます。mysqliphp データ オブジェクトを見てください。両方とも非常によく文書化されています。

于 2012-08-30T15:45:16.300 に答える