开发者社区> 问答> 正文

MySQL数据库对sql查询语句加转义addslashes后语法出现问题

用户名是admin,密码是admin。
查询语句是:$sql="select * from table_project where a_username='{$username}' and a_password='{$password}';";然后查询:$res=mysql_query($sql);·······
因为防止sql注入,所以想在sql语句查询之前都进行一下转义,所以用addslashes对$sql语句转义了一下,但是就出错了。
4
没有加转义的那一行代码前,用admin,admin可以顺利登录。
加了之后,用admin,admin登录后,捕捉了如下错误
5

展开
收起
蛮大人123 2016-02-10 13:03:35 3028 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    用PDO.mysqli也行。
    全选复制放进笔记$db = new PDO('mysql:host=127.0.0.1;dbname=test;charset=utf8','root','rootpass');
    $stm = $db->prepare("select * from test where field = :value");
    $stm->bindValue(':value',$_GET['field'],PDO::PARAM_STR);
    $stm->execute();
    $rows = $stm->fetchAll(PDO::FETCH_ASSOC);
    var_dump($rows);

    2019-07-17 18:40:19
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载

相关镜像