首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >警告: mysql_fetch_assoc()要求参数%1为资源,给定字符串

警告: mysql_fetch_assoc()要求参数%1为资源,给定字符串
EN

Stack Overflow用户
提问于 2012-10-16 20:18:21
回答 4查看 7.5K关注 0票数 0

在loop...please帮助中找不到错误

代码语言:javascript
代码运行次数:0
运行
复制
foreach($cat1 as $category){
    $query="SELECT parent FROM categories where id=".$category;
    $result = mysql_query($query);  
    $line = mysql_fetch_assoc($result);
    array_push($cat1,$line['parent']);
    }
EN

回答 4

Stack Overflow用户

发布于 2012-10-16 20:32:05

该错误是由于空结果集或查询中的错误造成的。

请使用以下步骤进行调试:

  • echo $query优先(检查所有参数是there)
  • Write mysql_query($query)还是die(mysql_error());

这将显示mysql错误(如果有)。

票数 2
EN

Stack Overflow用户

发布于 2012-10-16 20:30:24

在获取之前,您应该检查$result 以确保您使用的是资源。另外,检查您是否真的有一个来自mysql_num_rows的rows查询。

代码语言:javascript
代码运行次数:0
运行
复制
foreach($cat1 as $category){
    $query="SELECT parent FROM categories where id=".$category;
    $result = mysql_query($query);

    // Check result
    // This shows the actual query sent to MySQL, and the error. Useful for debugging.
    if (!$result) {
        $message  = 'Invalid query: ' . mysql_error() . "\n";
        $message .= 'Whole query: ' . $query;
        die($message);
    }

    if(mysql_num_rows($result) > 0) {
        $line = mysql_fetch_assoc($result);
        array_push($cat1,$line['parent']);
    }
    else {
       // do something else
    }
}
票数 0
EN

Stack Overflow用户

发布于 2012-10-16 20:38:11

我还会尝试通过运行以下命令来调试查询:

代码语言:javascript
代码运行次数:0
运行
复制
SELECT parent FROM categories where id=3

或在id=后插入有效的值ID

另外,要选择的字段是:parent是INT还是VARCHAR?(我的猜测是,根据您提供的错误,它是一个字符串)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12914550

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档