mysql_failed to fetchh_array(): supplied argument is not a valid MySQL result resource

打酱油震惊呵呵赞鄙视标签: ,,注:与内容无关的评论将被删除,严重者禁用帐号! | 最新评论不吐不快,赶紧来一发!栏目推荐关注 第一PHP社区 微信公众号热门点击本站推荐
| 中国最专业的PHP中文社区 |
Copyright (C) 1998 - . All Rights Reserved
第一PHP社区
版权所有 七牛云存储为本站提供加速支持 &&&&&php - Warning: mysql_result(): supplied argument is not a valid MySQL result resource in (...) on line 4 - Stack Overflow
to customize your list.
Stack Overflow is a community of 4.7 million programmers, just like you, helping each other.
J it only takes a minute:
Join the Stack Overflow community to:
Ask programming questions
Answer and help your peers
Get recognized for your expertise
Hi guys just curious to solve this annoying problem. Heres my snippet.
I've checked some other questions similar to my error but so far I cant get it solved.
Any help is much appreciated. :)
function user_exists ($username) {
$username = sanitize($username);
return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username =
$username"), 0) == 1) ? true :
17.9k114760
You should split your code in some more lines to handle those errors or special cases. mysql_query will return zero to n rows or an error if it occurs. The returned resource will therefore only be true on non-error queries. This can be used to handle such situations like follows.
At first build and execute query, next process the resource.
$query="SELECT COUNT(user_id) FROM users WHERE username = ".$
$result = mysql_query($query);
u may use the following to determine what is going on in case of an error:
if(!$result) die("SELECT failed: ".mysql_error());
or these idea to handle the problem
if (!$result=mysql_query($query)) {
// or similar operation
if (mysql_num_rows($result)!=1){
This could happen, when mysql_query returns false, if it fails for some reason. So you should split this into multiple statements and check the return values
$sql = "SELECT COUNT(user_id) FROM users WHERE username =
$username";
$result = mysql_query($sql);
if ($result === false) {
// error handling
return (mysql_result($result, 0) == 1) ? true :
41.6k13279
Your Answer
Sign up or
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Post as a guest
By posting your answer, you agree to the
Not the answer you're looking for?
Browse other questions tagged
The week's top questions and answers
Important community announcements
Questions that need answers
By subscribing, you agree to the
Stack Overflow works best with JavaScript enabled二次元同好交流新大陆
扫码下载App
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
生活不易,所以要开心过好每一天,
众生皆苦,所以要善待周围每一个人。
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
& 第一次运行错误是: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apmm\apache\htdocs\dms\system_manage\major_search.php on line 51电子商务 不存在,请确认重新查询 !
& 这就是上面49行的 $result 有问题,表示执行的时候出错了。到底出了什么错,可以在这句后面加上 or die(mysql_error());然后再次运行页面,就会出现具体的错误: Unknown column 'maj_name' in 'where clause'
这样问题就比较明显了,WHERE字句里的maj_name有问题,就改成不缩写的; & &再次运行页面,输入一个数据库中有的:电子商务,结果显示: & 电子商务 不存在,请确认重新查询 ! 我又试了几个其他的,还是一样的结果,而 if (mysql_num_rows($result) != 0) { // 如果存在信息,取出并显示&& $row = mysql_fetch_array($result, MYSQL_ASSOC); // 把字段结果取出放入数组$row[]&& echo $row['maj_name']." 专业的信息如下: "; // debug上面的echo语句始终没有执行,就是说这个if语句根本没有执行进来过; & 这时,再去检查数据库里面相关的3个表,发现majors里面的counsellor_id是1,因为sql语句里有 majors.counsellor_id=counsellors.counsellor_id 所以就把majors里的counsellor_id改成了zenyan,但是没有修改成功,因为一个是int一个是varchar,所以只有都改成varchar了;然后改成zenyan,这样就可以成功查到相关信息了。部分原代码如下:&&& $query = "SELECT& majors.name AS maj_name, colleges.name AS col_name, counsellors.name AS cou_name&&& FROM majors,counsellors,colleges&&& WHERE majors.name = '$search_input' AND majors.college_id=colleges.college_id AND majors.counsellor_id=counsellors.counsellor_id";&&& // WHERE 语句里不能用别名;&&& mysql_query("SET NAMES 'gb2312'");&&& // 中文处理问题&&& $result = mysql_query ($query)or die(mysql_error()); &&& // 运行,错误暴露&&& if (mysql_num_rows($result) != 0) { // 如果存在信息,取出并显示&&& & $row = mysql_fetch_array($result, MYSQL_ASSOC); // 把字段结果取出放入数组$row[]&&& & echo $row['maj_name']." 专业的信息如下: "; // debug&&& & echo '&table width="600" border="1"&&&& & &tr&&&& &&& &td&专业名称&/td&&&& &&& &td&'.$row['maj_name'].'&/td&&&& & &/tr&&&& & &tr&&&& &&& &td&所属学院&/td&&&& &&& &td&'.$row['col_name'].'&/td&&&& & &/tr&&&& & &tr&&&& &&& &td&辅导员&/td&&&& &&& &td&'.$row['cou_name'].'&/td&&&& & &/tr&&&& & &&& & &tr& &&& &&& &a href="./major_edit.php?id='.$row['maj_name']. '"&修改&/a&&&& &&& &a href="./major_delete.php?id=' . $row['maj_name'] . '"&删除&/a&&&& &&& &/td&&&& &&& &td&&&/td&&&& & &/tr&&&& & &/table&&br /&';&&& & } &&& & else &&& & { // 如果查询不存在,则显示提示信息&&& &&& echo $search_input." 不存在,请确认重新查询 !";&&& & }
阅读(8513)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_081071',
blogTitle:'错误调试:mysql_num_rows(): supplied argument is not a valid MySQL result resource',
blogAbstract:'我修改了第46、49行,对比一下就可以改过来了 & 第一次运行错误是: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\\apmm\\apache\\htdocs\\dms\\system_manage\\major_search.php on line 51电子商务 不存在,请确认重新查询 !
& 这就是上面49行的 $result 有问题,表示执行的时候出错了。到底出了什么错,可以在这句后面加上',
blogTag:'php,mysql',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:1,
publishTime:2,
permalink:'blog/static/',
commentCount:3,
mainCommentCount:3,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'生活不易,所以要开心过好每一天,\r\n众生皆苦,所以要善待周围每一个人。',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}Warning: mysql_query(): 9 is not a valid MySQL-Link resource in ?
[问题点数:40分,结帖人czd]
Warning: mysql_query(): 9 is not a valid MySQL-Link resource in ?
[问题点数:40分,结帖人czd]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年2月 PHP大版内专家分月排行榜第三2010年12月 PHP大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。错误调试:mysql_num_rows(): supplied argument is not a valid MySQL result resource
错误调试:mysql_num_rows(): supplied argument is not a valid MySQL result resource
7:28:00来源:
我修改了第46、49行,对比一下就可以改过来了?第一次运行错误是:Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apmm\apache\htdocs\dms\system_manage\major_search.php on line 51电子商务 不存在,请确认重新查询 ! 这就是上面49行的 $result 有问题,表示执行的时候出错了。到底出了什么错,可以在这句后面加上or die(mysql_error());然后再次运行页面,就会出现具体的错误:Unknown column 'maj_name' in 'where clause'这样问题就比较明显了,WHERE字句里的maj_name有问题,就改成不缩写的;??再次运行页面,输入一个数据库中有的:电子商务,结果显示:?电子商务 不存在,请确认重新查询 !我又试了几个其他的,还是一样的结果,而if (mysql_num_rows($result) != 0) { // 如果存在信息,取出并显示 $row = mysql_fetch_array($result, MYSQL_ASSOC); // 把字段结果取出放入数组$row[] echo $row['maj_name']." 专业的信息如下: "; // debug上面的echo语句始终没有执行,就是说这个if语句根本没有执行进来过;?这时,再去检查数据库里面相关的3个表,发现majors里面的counsellor_id是1,因为sql语句里有majors.counsellor_id=counsellors.counsellor_id所以就把majors里的counsellor_id改成了zenyan,但是没有修改成功,因为一个是int一个是varchar,所以只有都改成varchar了;然后改成zenyan,这样就可以成功查到相关信息了。部分原代码如下: $query = "SELECT majors.name AS maj_name, colleges.name AS col_name, counsellors.name AS cou_name FROM majors,counsellors,colleges WHERE majors.name = '$search_input' AND majors.college_id=colleges.college_id AND majors.counsellor_id=counsellors.counsellor_id"; // WHERE 语句里不能用别名; mysql_query("SET NAMES 'gb2312'"); // 中文处理问题 $result = mysql_query ($query)or die(mysql_error()); // 运行,错误暴露 if (mysql_num_rows($result) != 0) { // 如果存在信息,取出并显示 $row = mysql_fetch_array($result, MYSQL_ASSOC); // 把字段结果取出放入数组$row[] echo $row['maj_name']." 专业的信息如下: "; // debug echo '&table width="600" border="1"& &tr& &td&专业名称&/td& &td&'.$row['maj_name'].'&/td& &/tr& &tr& &td&所属学院&/td& &td&'.$row['col_name'].'&/td& &/tr& &tr& &td&辅导员&/td& &td&'.$row['cou_name'].'&/td& &/tr&
&tr& &a href="./major_edit.php?id='.$row['maj_name']. '"&修改&/a& &a href="./major_delete.php?id=' . $row['maj_name'] . '"&删除&/a& &/td& &td&&&/td& &/tr& &/table&&br /&'; } else { // 如果查询不存在,则显示提示信息 echo $search_input." 不存在,请确认重新查询 !"; }}

我要回帖

更多关于 failed to fetch 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信