读书人

echo mysql_query($s);无任何值输出解

发布时间: 2012-04-24 14:15:38 作者: rapoo

echo mysql_query($s);无任何值输出
<?php
$query="select * from user";
$results=mysql_query($query);
while(@$r=mysql_fetch_array($results)){
echo htmtocode($r['userid']);
echo " "?>
<a href="?action=delete&userid=<?=$r['userid']?>">delete</a>
<br />
<?php
}
?>
<?php
if(@$_GET['action']=='delete'){
$s="select from user where userid=$_GET[userid]";
echo mysql_query($s);
die();
if(mysql_query($s)){

exit('<script language="javascript">alert("删除成功!");self.location = "admin.php";</script>)');
}
}
?>

[解决办法]

PHP code
<?php  $query="select * from user";  $results=mysql_query($query);  if( ! $results)      die("SQL: {$query} error: " . mysql_error() );  while( $r=mysql_fetch_array($results) )  {        echo htmtocode($r['userid']);      echo " ";  ?>      <a href="?action=delete&userid=<php echo $r['userid']; ?>">delete</a>      <br />  <?php    }  ?>  <?php  if($_GET['action']=='delete'){     if( ! isset($_GET['userid']) )         exit('userid 为空,放弃操作');     $userid = trim( $_GET['userid'] );     // 我不明白删除操作用select做什么?     $s="select * from `user` where userid = '{$userid}'";     // echo 只对字符串和数字有效,调试的话用var_dump()     var_dump( $result = mysql_query($s) );      if( $result ){          exit('<script language="javascript">                alert("删除成功!");                self.location = "admin.php";                </script>');     }else         echo "mysql error:". mysql_error();  }?>
[解决办法]
if(@$_GET['action']=='delete'){
$s="select from user where userid=$_GET[userid]";
echo mysql_query($s);
die();
你写的这三句
改为这样
if(@$_GET['action']=='delete'){//确认这个条件满足,进入了循环
$s="select from user where userid=$_GET[userid]";//
echo $s."<br />";//输出语句内容,也查一下运行到此步没有,可以单独到数据库里查一下看有值没
echo mysql_query($s);//query返回的只是成功不成功并不是查得的内容
die();//语句到此句就中止了
要注意你的userid是不是int型,若是text或是char啥的两边需加引号''
到此你定会知道为啥没有输出内容了
[解决办法]
echo 只能输出字符串和数字,
mysql_query();返回值是资源类型,当然输不出来
用var_dump就可以输出了 ,要看结果要使用函数处理返回的资源
[解决办法]
返回false表示你的SQL语句有问题,没成功执行
给后面加上一句 echo mysql_error();

读书人网 >PHP

热点推荐