当前位置: 代码迷 >> PHP >> echo mysql_query($s);无任何值输出解决方法
  详细解决方案

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

热度:778   发布时间:2012-04-24 14:15:38.0
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();
  相关解决方案