警告:mysql_fetch_assoc():提供的参数不是有效的MySQL

时间:2013-03-17 22:18:46

标签: php mysql

我遇到了一些错误

警告:mysql_fetch_assoc():提供的参数不是有效的MySQL结果资源 事实上,由于没有全局变量,我将所有查询都放在函数中。

我的查询没问题,在其他地方的字段名称中没有错误。

麻烦的是,在当地一切都很好,当我把它放在网上,它没有工作,并在任何地方它给我一些错误

对于家庭我有这个错误:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /web/teamfrancestron/www/lib_php/strongman.php on line 75

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /web/teamfrancestron/www/lib_php/strongman.php on line 90

我的用户拥有数据库中的所有权限,

这是我使用的代码:  这是第一个错误

function fetchAccueil() {
    $sql = "SELECT 
                    `content`, `date_maj`, `id_maj`, `titre` 
            FROM `stg_man_home` 
            WHERE 
                    `id` = '1'";
    $result = mysql_query($sql);
    return mysql_fetch_assoc($result);
}

还有其他查询

/ **  * Fonction qui va chercher l'identitéd'unepersonne。  * @param类型$ id  * @return类型  * /

function fetchIdentity($id) {
    $input_id = mysql_real_escape_string($id);
    $query = "SELECT 
                        `nom`, `prenom`
              FROM `stg_man_users`
              WHERE `id` = '{$input_id}'";
    $result = mysql_query($query);
    return mysql_fetch_assoc($result);
}

我真的没有看到名字文件中的任何错误,我确信我的查询是有效的资源。 (适用于本地但不适用于服务器)。我在PHP 5.4

在其他页面上,我仍有同样的错误

非常感谢任何帮助。

3 个答案:

答案 0 :(得分:0)

检查mysql_query的返回值。它可以是结果集,也可以是值false。将您的查询更改为

$result = mysql_query($sql) or die(mysql_error());

您将立即看到问题。

作为旁注:考虑切换到mysqliPDO,因为现在已弃用mysql_*函数。

答案 1 :(得分:0)

你说

WHERE id = '1'

改为执行此操作(删除单引号):

WHERE id = 1

因此,您要求对整数但不是字符串进行匹配。

答案 2 :(得分:-1)

错误消息表示运行查询失败。

测试查询的最简单方法是打开一个phpmyadmin或mysql控制台(使用相同的用户),然后运行这个确切的查询。