日期:2014-05-17  浏览次数:20432 次

PHP基础问题
PHP code

<?php
    $conn = mysql_connect('localhost', 'root', '');
    if(!$conn)
    {
        echo "数据库连接失败".mysql_error();
        exit();
    }
    echo "数据库连接成功</br>";
    $sql = "show databases";  //查找某个库是否存在
    print("$sql</br>");
    $sql_return = mysql_query($sql);
    echo "$sql_return </br>";
    while($row = mysql_fetch_array($sql_return))
    {
        for($i = 0; $i != count($row); ++$i)
        {
            printf("%s", $row[0]);
            echo "</br>";
        }
    }
    //mysql_select_db('web', $conn);
    
?>


输出的结果是这样的:
PHP code

数据库连接成功
show databases
Resource id #4 
information_schema
information_schema
mysql
mysql
performance_schema
performance_schema
test
test
web
web


????为什么,每个库名都输出了两遍,我也用print_r($row);执行过,结果如下:
PHP code
数据库连接成功
show databases
Resource id #4 
Array ( [0] => information_schema [Database] => information_schema ) Array ( [0] => mysql [Database] => mysql ) Array ( [0] => performance_schema [Database] => performance_schema ) Array ( [0] => test [Database] => test ) Array ( [0] => web [Database] => web )


------解决方案--------------------
mysql_fetch_array()返回的既有数字数组,又有关联数组。你可以换用 mysql_fetch_row()
------解决方案--------------------
http://cn2.php.net/manual/zh/function.mysql-fetch-array.php

你自己看看你这程序写的:

PHP code
        for($i = 0; $i != count($row); ++$i)
        {
            printf("%s", $row[0]);
            echo "</br>";
        }