php连接Mysql 用stmt防注入如何进行模糊查询-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

php连接Mysql 用stmt防注入如何进行模糊查询

2016-07-01 11:25:35 2317 1

Q1:以下代码是正确的吗?即表名和列名也可以用参数化导入吗?

$sqlLink = init_mysql();
$stmt = $sqlLink->stmt_init()
$sql = 'SELECT ? FROM ?;';
$stmt->prepare($sql);
$stmt->bind_param("ss",'colA','tableA');
$stmt->execute();
Q2:参数化防止注入,如何进行模糊查询?
1.sql = 'SELECT * FROM tableA WHERE col LIKE \'%?%\'';
2.sql = "SELECT * FROM tableA WHERE col LIKE '%?%'";
3.sql = 'SELECT * FROM tableA WHERE col LIKE \'%'.'?'.'%\'';

以上方式我经过尝试都不能使用,请问带%模糊查询如何书写SQL的prepare语句?
有一种可行的方式如下:
sql = 'SELECT * FROM tableA WHERE col LIKE '%'.$string.'%'';
但是失去了防注入的意义,请问有没有正确的方式给予我引导?:-D

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:49:51
    $db = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD, $pdo_options);
    $query = $database->prepare('SELECT * FROM table WHERE  name LIKE :name');
    $query->bindValue(':name', '%'.$name.'%', PDO::PARAM_STR);
    $query->execute();
    while ($results = $query->fetch())
    {
       echo $results['name'];
    }
    0 0
相关问答

1

回答

无法建立连接,因为目标计算机主动拒绝了它(PHP / WAMP)?mysql

2020-05-13 14:35:16 464浏览量 回答数 1

1

回答

如何为PHP启用mysqlnd??mysql

2020-05-17 17:38:53 292浏览量 回答数 1

1

回答

使用PHP从MySQL日期时间转换为另一种格式

2020-05-10 17:46:47 488浏览量 回答数 1

1

回答

PHP和MySQL:mysqli_num_rows()期望参数1为mysqli_result,给定布

2020-05-10 18:30:15 355浏览量 回答数 1

1

回答

PHP / MySQL插入行,然后获取“ id”

2020-05-10 19:47:10 220浏览量 回答数 1

1

回答

PHP代码将MySQL查询转换为CSV

2020-05-10 20:59:08 311浏览量 回答数 1

1

回答

我有一个整数数组,如何在mysql查询中使用每个整数(在php中)?

2020-05-10 21:48:52 299浏览量 回答数 1

1

回答

云虚拟主机主机php版本及MySQL版本

2018-08-23 15:43:46 1319浏览量 回答数 1

1

回答

Php代码如何连接mysql

2018-05-29 13:33:50 1617浏览量 回答数 1

3

回答

如何将php+mysql网站上传至云服务器ecs上

2018-02-27 21:38:08 2762浏览量 回答数 3
+关注
文章
问答
问答排行榜
最热
最新
相关电子书
更多
MySQL 5.7让优化更轻松
立即下载
MySQL表和索引优化实战
立即下载
PostgresChina2018_张启程_为什么我们抛弃MongoDB和MySQL,选择PgSQL
立即下载