当我尝试从php_mysql查询中检索结果时出错。

时间:2015-08-21 15:54:31

标签: php mysql

mysql_connect("localhost","root","") or die("Khong the ket noi csdl!");
mysql_select_db("dream") or die("Khong the select database!");
mysql_query("SET NAMES 'utf8'");    
$sql1 = mysql_query("SELECT * FROM list_console");      

........

foreach (mysql_fetch_array($sql1) as $list) {           
    echo $list['name']
}

我想回复一下" name"在我的数据库(list_console)中,但我收到以下错误:

Illegal string offset 'name' in ...

2 个答案:

答案 0 :(得分:1)

问题是如果没有更多行,mysql_fetch_array将返回false。并且您尝试获取索引' name'来自布尔。

而不是这个foreach使用此代码:

while ($row = mysql_fetch_array($sql1)) {
    echo $row['name'];
}

如果它没有更多行$ row将是假的,而且会停止。

答案 1 :(得分:0)

建议不要使用mysql,因为它已被弃用。尝试以下代码:

<?php
    $servername = "localhost";
    $username = "database username";
    $password = "password (if any)";
    $dbname = "your database name";

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
    // Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 

    $sql = "SELECT * FROM list_console";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo $row["name"]. "<br>";
        }
    } else {
        echo "0 results";
    }
    $conn->close();
    ?>

php doc