select * from cart where date like '%2011-12-15%' and yes=1 order by date desc
上面是我要传递的SQL语句为何传递过来用$_Request获取了以后 变成下面这个样子 select * from cart where date like \' 11-12-15%\' and yes=1 order by date desc
哪位高手可以帮忙看一下 谢谢

解决方案 »

  1.   

    去转义呀 stripslashes()不过你这样传递 sql 指令不觉得太危险了吗?
    如果我把你的sql改成了 delete from cart 会成什么样子啦?
      

  2.   

    传递之前urlencode
    接收端urldecode或者传递后stripslashes
      

  3.   


    你的意思是stripslashes(string)  这样吗?
      

  4.   

    用过stripslashes(string)这个之后 不但“\”没了 ,而且“%”也没了 谁再帮忙看看啊
      

  5.   

    $str = $_REQUEST['string'];
    echo stripslashes($str);
      

  6.   

    urlencode后再传递,不过不建义http传sql ,很不安全吧
      

  7.   

    第一次听传的参数为SQL语句...为安全性能擦汗
      

  8.   

    $sql = urlencode($sql);$sql = urldecode($_REQUEST['sql']);
      

  9.   

    你可以只把关键字传过去!比如 "select * from".$_GET['**']
    到了第二页面衔接起来也可以!这样安全性太差了!差的没话说
      

  10.   

    附加到url时:
    $sql = "select * from cart where date like '%2011-12-15%' and yes=1 order by date desc";
    $url = "http://host/file?sql=".urlencode($sql);获取时:
    $sql = stripslashes($_REQUEST['sql']);
    echo $sql;