$sqlstr = "select * from user where username='".$name."'&&password='".$pass."'";
这个'".$name."’和'".$pass."'都无法识别。echo 出来,就直接是.$name. .$pass.
这个是什么问题?

解决方案 »

  1.   

    $name = 'body';
    $pass = 'none';
    $sqlstr = "select * from user where username='".$name."'&&password='".$pass."'";
    echo $sqlstr;select * from user where username='body'&&password='none'
      

  2.   

    我的意思的,变量前后加点后,变量就没有值,只有那个变量了。比如;'".$usernme."' 这样的写法,echo 出来,就是.$username.如何保持这种写法,让变量正确显示呢?求解,以前在PHP4,是正常的。
      

  3.   


    我好长时间不写程序了,我现在是用我以前写的一个程序。原来在php4.mysql 4.环境下,正常的,现在我用的空间都是PHP5,MYSLQ5.我传程序上去,就执行不来。执行,发现变量为空,现在我也找不到php4.mysql 4.服务器环境了。
      

  4.   

    你 echo $sqlstr; 能看到什么?
    另外 $name 和 $pass 是哪里来的?
    php 4.1 就已将有 $_POST 等超全局变量了,你没用,那是你的问题
      

  5.   

    $sqlstr = "select * from user where username='".$name."'&&password='".$pass."'";
      $db->query($sqlstr);
      if ($db->next_record()){
      $rowcount = $db->num_rows();
      }$uname和¥pass是表单提交过来了。现在是¥rowcount 没回值返回为空。数据库是有的。这个是啥问题那?
      

  6.   

    没有值。但是直接去执行SQL,有值、以前这个验证都没啥问题,为什么现在取不到值?
      

  7.   

    因为 register_globals(用于自动转换传入的数据为全局变量)开关已经停用了
    php5.3 5.4 默认 off
    php 5.5 起取消
      

  8.   

    如果不想对程序做适应性调整,可在程序开始处执行
    extract($_GET);
    extract($_POST);
    extract($_COOKIE);session 和 文件上传 比较特殊,不改是不行的
      

  9.   

    按你的改了,还是取到不值require("db_app.inc");
    $db = new DB_app;
    $db->connect();
    extract($_GET);
    extract($_POST);
    extract($_COOKIE);if ($action =="login"){  $sqlstr = "select * from user where username='".$name."'&&password='".$pass."'";
      $db->query($sqlstr);
      if ($db->next_record()){
      $rowcount = $db->num_rows();
      }
      if ($rowcount==""){
      ?>
      <script>window.alert('对不起。没有这个用户或密码错误!');self.history.go(-1);</script>
      <?$rowcount 还是没有值