2010-12-13 40 views
0

可能重复:
php warning mysql_fetch_assoc一个奇怪的mysql_fetch_(缔合,数组,对象)错误

我有我的剧本一个奇怪的问题。它总是返回mysql_fetch_array或mysql_fetch_assoc的错误。我在项目中多次使用过mysql_fetch,并且多次检查了这个错误,但是我对发生的事情一无所知。我的脚本有问题吗?

我的功能目标是学习指定mysql字段的最大价值。

下面是函数:

function nextIncrement($table,$field) { 
    $sql = mysql_query("SELECT '$field' FROM '$table' ORDER BY '$field' DESC LIMIT 0,1"); 
    while($row = mysql_fetch_assoc($sql)) { 
     $next = $row[$field]; 
    } 
    $next = (int)$next; 
    return $next; 
} 

警告:mysql_fetch_assoc():提供的参数不是一个有效的MySQL结果资源...

+0

看起来像你的SQL查询失败。 – 2010-12-13 10:55:12

回答

1

最有可能的,你mysql_query()出于某种原因返回false。

mysql_query()可以返回的可能值的列表,请参阅the manual

做一个echo mysql_error();,看看有什么是错的。

+0

查询在sql编辑器中正常工作,但当我回显时它会返回错误:您的SQL语法中有错误;检查对应于你的MySQL服务器版本的第1行“)”使用近“ORDER BY‘fbUserReceipeId’DESC LIMIT 0,1”在行1 – Kemal 2010-12-13 10:57:13

+0

@Ahmet尝试在表名反引号正确的语法手册:'\ ''而不是''' – 2010-12-13 10:59:33

+0

Oh Pekka非常感谢你。有效。但有什么区别?什么是快捷方式:) – Kemal 2010-12-13 11:02:43

0

检查看到,查询,然后再继续居然成功获取结果。

+0

是的,它成功了。它会根据我的意愿返回一行和一列。 Everythinh似乎没问题,对吧? – Kemal 2010-12-13 10:53:52

+0

您的剧本另有说明。 – 2010-12-13 11:00:24

+0

你如何确定它成功?你的函数在任何情况下都会返回一些东西,如果查询中没有结果或者错误,返回值就是0。 – 2010-12-13 11:01:06

0

有可能是在SQL语句中出现错误,或者你没有一个打开的数据库连接?

+0

现在可以了@Spiny。谢谢。 – Kemal 2010-12-13 11:08:06