个人博客网站调试有关问题

WBOY
发布: 2016-06-13 12:19:08
原创
1012 人浏览过

个人博客网站调试问题
我用php+mysql制作了个人博客网站,但是在调试过程中出现了问题,偶一小小菜鸟在大家热心的帮助下基本调试完成,还是有些问题解决不了,求大家帮忙啊
【1】Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given in D:\WWW\blog\show_pub.php on line 7
代码如下:
error_reporting(E_ALL^E_NOTICE);
session_start();
include "conn/conn.php";
$pubsql = "select * from tb_public where id= ".$_GET['id'];
$pubrst = mysql_query($pubsql,$link);
$pubrow = mysql_fetch_row($pubrst);
echo "

".$pubrow[2]."
登录后复制
";
?>
【2】error: mysql query   代码如下:
    error_reporting(E_ALL^E_NOTICE);        
include "Conn/conn.php";
    $query="select * from tb_tpsc where id=".$recid;
    $result=mysql_query($query);
    if(!$result) die("error: mysql query"); 
    $num=mysql_num_rows($result); 
    if($num    $data = mysql_result($result,0,"file"); 
    echo $data;     
?> 
【3】



------解决思路----------------------
要学会看错误报告
Warning: mysql_fetch_row() expects parameter 1 to be resource, boolean given
是说:mysql_fetch_row()  函数期望第一个参数是一个资源,而现在的是一个 boolean (逻辑)值
那为什么 $pubrst 是逻辑值而不是资源呢?
在 mysql_query 函数说明中有:
mysql_query() 仅对 SELECT,SHOW,EXPLAIN 或 DESCRIBE 语句返回一个资源标识符,如果查询执行不正确则返回 FALSE
那么显然是 查询执行不正确 了
再往上,$pubsql = "select * from tb_public where id= ".$_GET['id'];
对于这个 sql 指令的生成语句,如果 $_GET['id'] 为空,即 URL 中没有 id=xxx 时
$pubsql 就变成了 select * from tb_public where id= 显然这是错误的指令
如果改成
$pubsql = "select * from tb_public where id='$_GET[id]'";
登录后复制
 
即便没有 $_GET['id'],sql指令也不会错:select * from tb_public where id=''
顶多查不到东西罢了
------解决思路----------------------
问题2,echo一下 $query 呢?
------解决思路----------------------
第二个不是同样的道理吗?
$query="select * from tb_tpsc where id=".$recid;

这句中,$recid 在哪定义的,如果没定义,那么就变成了 select * from tb_tpsc where id=
这个SQL是错误的。当然就会报错了。
相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!