> 백엔드 개발 > PHP 튜토리얼 > 个人博客网站调试有关问题

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

WBOY
풀어 주다: 2016-06-13 12:19:08
원래의
1064명이 탐색했습니다.

个人博客网站调试问题
我用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으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿