PHP表连接查询:Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in

$query="select*frommessageorderbyiddesc";$query="selectmessage.idasid,message.titleas... $query="select * from message order by id desc";

$query="select message.id as id,message.title as title,message.content as content,";
$query.="message.ctime as ctime,admin.name as name from message,admin where message.sid=admin.id";
$query.=" order by message.id desc";
$result=mysql_query($query);
执行上面这段代码为何总是取不到数据,且报错:Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in
这个问题我后来解决了,是因为我有个字段没对应上。但是现在是另一段操作数据库的语句出现这样的问题,代码如下:
$query="select survey.*,admin.realname as realname from survey,admin";
$query.=" where survey.tid=admin.tid and survey.sid='$sid' order by survey.id desc";
$result=mysql_query($query);我想问这段代码有没语法错误,其实相同代码有其他人运行成功的,但我这不行。是不是存在缺乏动态链接库之类的问题呢?是不是有些版本不支持这种写法?
展开
 我来答
言南絮
高粉答主

2018-03-31 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:31.6万
展开全部

上面的程序代码改为:

<table align=center width=800 border=1>
<tr>
<td>产品编号</td>
<td>产品分类</td>
<td>产品货号</td>
</tr>
<?
$sql = "select 产品.pid,分类表.sname,产品.name from 产品,分类表 where 产品.sort=分类表.sid order by 产品.pid"
$rst = @new COM("ADODB.RecordSet")
$rst->Open($sql,$con,1,3)
while(!$rst ->EOF){?><td><?=$rst->Fields["pid"]->Value?></td>
<td><?=$rst->Fields["sname"]->Value?></td>
<td><?=$rst->Fields["name"]->Value?></td>
</tr><?
$rst->Movenext();}
$con->close();?>
</table>

通过php判断某个用户是否存在的代码如下:

//拆分发来的信息得到会员卡号<br data-filtered="filtered">

$arry=explode("+",$form_Content);<br data-filtered="filtered">

$memberid =$arry[1];<br data-filtered="filtered">

<br data-filtered="filtered">

//连接数据库<br data-filtered="filtered">

$link=mysql_connect(SAE_MYSQL_HOST_M.':'.SAE_MYSQL_PORT,SAE_MYSQL_USER,SAE_MYSQL_PASS);<br data-filtered="filtered">

if($link) {<br data-filtered="filtered">

mysql_select_db(SAE_MYSQL_DB,$link); <br data-filtered="filtered">

//查询数据<br data-filtered="filtered">

$result1=mysql_query("select * from numbers where pmcode = '".$memberid."';");<br data-filtered="filtered">

<br data-filtered="filtered">

$num_result = mysql_num_rows($result1);<br data-filtered="filtered">

if($num_result==1){<br data-filtered="filtered">

//$row= $result1->fetch_assoc();<br data-filtered="filtered">

$row=mysql_fetch_row($result1);<br data-filtered="filtered">

$result_str="您的会员--信息如下:\n\n卡号:$row[pmcode].\n姓名:.$row[names].\n等级:.$row[4].\n积分:$a[5]";<br data-filtered="filtered">

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,$result_str); <br data-filtered="filtered">

echo $resultStr

<br data-filtered="filtered">

exit;<br data-filtered="filtered">}else{<br data-filtered="filtered">

$msgType = "text";<br data-filtered="filtered">

$resultStr = sprintf($textTpl, $fromUsername, $toUsername, $time, $msgType,"--select * from numbers where pmcode = '".$memberid."'");  <br data-filtered="filtered">

echo $resultStr

<br data-filtered="filtered">

exit;<br data-filtered="filtered">

<br data-filtered="filtered">}<br data-filtered="filtered">

<br data-filtered="filtered">}   

else{<br data-filtered="filtered">

echo "连接数据库失败".mysql_error;<br data-filtered="filtered">}            

<br data-filtered="filtered">

mysql_close($link);<br data-filtered="filtered">}

zswdbdh1
2014-04-05 · TA获得超过160个赞
知道答主
回答量:40
采纳率:0%
帮助的人:26.6万
展开全部
这个错误信息是因为,你的$result中没有结果,而是一个查询失败的false返回值。

可能的原因是admin是mysql的关键字。 在sql语句的admin两边加上`这个符号,就是tab键上面,esc键下面那个键。 如果还有问题的话,请继续追问,我很乐意帮你解决这个问题。
追问
这个问题我后来解决了,是因为我有个字段没对应上。但是现在是另一段操作数据库的语句出现这样的问题,代码在问题补充那里
追答
php对mysql模块的支持是默认的,如果你php能够正常运行的话,应该不存在缺乏动态链接库的问题。也没有听说是版本问题,你可以写的更加严谨试一试,就是讲表名和字段名用反撇号`括起来,值用单引号'括起来。然后输出$query,在navicat或者phpmyadmin上执行语句。

如果在你的mysql能够执行成功,那么在php上应该也是可以的。
如果上执行不成功,那就再仔细检查下sql语句。

当然还存在一些非常特别的情况,比如说你这两张表的数据都非常非常大,而你的服务器配置不够,php的执行最长时间也比较短,那么也可能出现执行中止的情况。 因为你这句sql语句的性能确实很低,建议写为join 语句。例如
SELECT s.*,a.realname realname FROM `survey` s LEFT JOIN `admin` a ON s.tid = a.tid WHERE s.sid='$sid' ORDER BY s.id DESC
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式