Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
错误警告:php中的mysql_fetch_assoc()_Php - Fatal编程技术网

错误警告:php中的mysql_fetch_assoc()

错误警告:php中的mysql_fetch_assoc(),php,Php,可能重复: 在db.php中,我有: <?php class connect { private $host = "localhost"; private $user = "root"; private $pass = ""; private $database = "databasename"; private $connect = null; function connect() { $this->connec

可能重复:

在db.php中,我有:

<?php
class connect {

    private $host = "localhost";
    private $user = "root";
    private $pass = "";
    private $database = "databasename";
    private $connect = null;

    function connect() {
        $this->connect = mysql_connect($this->host, $this->user, $this->pass) or die("Can't connect database");
        mysql_select_db($this->database, $this->connect);
    }

    function getData() {
        $data = array();
        $sql = 'Select * From test';
        $query = mysql_query($sql);
        while($row = mysql_fetch_assoc($query)) {
            $data[] = array($row['id'], $row['name']);
        }
        return $data;
    }

}
?>
<?php
include 'db.php';
$connect = new connect();
$connect->connect();
$data = $connect->getData();
$str = '';
foreach ($data as $dt) {
    $str .= $dt[1];
}
echo $str;
?>

尝试查找错误:

  function getData() {
    $data = array();
    $sql = 'Select * From test';
    $query = mysql_query($sql);
    if(!$query) 
    {
     echo 'Error: ' . mysql_error(); /* Check what is the error and print it */
     exit;
    }

    while($row = mysql_fetch_array($query)) {  /* Better use fetch array instead */
        $data[] = array($row['id'], $row['name']);
    }
    return $data;
}

这个错误告诉您您的查询是由
$query=mysql\u query($sql)执行的正在返回错误。它不是返回零结果,而是返回一个错误,这表明名为
'databasename'
的数据库或名为
'test'
的表不存在。

听起来好像查询没有返回结果或一般查询错误,查询中的列和表是否存在,与数据库的连接是否正常?

不知道为什么会被否决。查询有问题,否则将返回结果资源对象。唯一的方法是显示错误消息。我打赌错误消息是我提到的两件事之一:PI试图复制粘贴您的代码,没有发现错误!请检查您的数据库名称、数据库密码、数据库用户或表名。根据经验,您不应将局部变量命名为与类相同的名称:“connect”。将“private$connect”更改为(例如)“private$connection”。然后您应该在查询中使用该变量:$query=mysql\u query($sql,$this->connection);