错误警告:php中的mysql_fetch_assoc()函数

16 浏览
0 Comments

错误警告:php中的mysql_fetch_assoc()函数

可能是重复的问题:

警告:mysql_fetch_array()提供的参数不是有效的MySQL结果

在db.php中,我有:

connect = mysql_connect($this->host, $this->user, $this->pass) or die("无法连接数据库");
        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;
    }
}
?>

在index.php中,我有:

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

我得到以下错误:

=> 从db.php得到错误:警告:mysql_fetch_assoc()提供的参数不是有效的MySQL结果资源。

我做错了什么?

0
0 Comments

(Error Warning: mysql_fetch_assoc() in php)这个问题的出现的原因是查询语句$query = mysql_query($sql);返回了一个错误。这个错误提示你的数据库'databasename'或其中的表'test'不存在。

解决方法是确保数据库'databasename'存在,并且其中的表'test'也存在。可以通过以下步骤来解决这个问题:

1. 检查数据库名称是否正确,确保在代码中使用的数据库名称与实际存在的数据库名称一致。

2. 检查表名是否正确,确保在代码中使用的表名与实际存在的表名一致。

3. 如果数据库或表名中包含特殊字符或空格,确保在代码中正确使用这些字符,或者考虑将它们更改为简单的字母和数字组合。

4. 如果数据库或表名是大小写敏感的,请确保在代码中使用的大小写与实际存在的数据库或表名一致。

5. 确保数据库连接已经成功建立,并且具有足够的权限来执行查询操作。

通过以上步骤,您应该能够解决(Error Warning: mysql_fetch_assoc() in php)这个问题。

0
0 Comments

出错警告: 在php中使用mysql_fetch_assoc()

问题原因:查询没有返回任何结果或者存在一般的查询错误,查询中的列和表是否存在,以及与数据库的连接是否正常?

解决方法:检查查询语句中的列和表是否存在,确保连接到数据库正常。

0
0 Comments

这段代码中的问题是mysql_fetch_assoc()函数。下面是问题出现的原因和解决方法:

问题原因:

- mysql_fetch_assoc()函数是用于从结果集中获取一行作为关联数组的函数。然而,在这段代码中,使用了mysql_fetch_array()函数来获取结果集中的行。这导致了错误的发生。

解决方法:

- 将mysql_fetch_array()函数替换为mysql_fetch_assoc()函数,以正确地获取结果集中的关联数组。

- 修改代码如下:

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_assoc($query)) {  /* Use fetch assoc instead */
        $data[] = array($row['id'], $row['name']);
    }
    return $data;
}

通过将mysql_fetch_array()函数替换为mysql_fetch_assoc()函数,问题得到了解决。现在,代码能够正确地从结果集中获取关联数组。

0