错误警告: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);