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

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

热度:510   发布时间:2016-04-29 01:35:57.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();
  相关解决方案