开发者社区> 问答> 正文

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 3001 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像