相关疑难解决方法(0)

如何使用LIKE语句创建PDO参数化查询?

这是我的尝试:

$query = $database->prepare('SELECT * FROM table WHERE column LIKE "?%"');

$query->execute(array('value'));

while ($results = $query->fetch()) 
{
    echo $results['column'];
}
Run Code Online (Sandbox Code Playgroud)

php pdo

100
推荐指数
5
解决办法
9万
查看次数

PDO - 在bindParam中使用LIKE

我正在测试一个小搜索功能:

但我遇到了一个我似乎无法解决的错误.您可以在此处查看PDO查询:

$search = "test1"; //later to be changes to $_POST ['search'];

$sql = "SELECT id, name FROM clients WHEE name like %:name% order by id LIMIT 5";
$stm = $db->prepare ( $sql );
$stm->bindParam ( ":name" , $search);
$result = $stm->execute ();
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在尝试从我的查询中绑定参数%:name%,但我不知道这实际上是否可行?

我解除了错误:未捕获的异常'PDOException',消息'SQLSTATE [42000]:.....

我可以在错误中看到"已经放在test1%'test1'%

我正在努力,或者我需要做这样的事情?

$query = "SELECT id, name FROM clients WHEE name like :name order by id LIMIT 5";

$sql->execute(array(":name" => "%" .$search . "%"));
Run Code Online (Sandbox Code Playgroud)

php sql pdo bindparam

3
推荐指数
1
解决办法
1046
查看次数

bindParam用于PDO MySQL查询中LIKE的GET值

是否有任何转换方式

$term = $_GET['p'];
$stmt = $dbh->prepare("
    SELECT      *
    FROM        posts
    WHERE       heading LIKE '%$term%'
    OR          full_text LIKE '%$term%'
    LIMIT       0 , 30
");
$stmt->execute();
$answer = $stmt->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

INTO之类的东西

$term = "'%" . $_GET['p'] . "%'";
$stmt = $dbh->prepare("
    SELECT      *
    FROM        posts
    WHERE       heading LIKE :term
    OR          full_text LIKE :term
    LIMIT       0 , 30
");
$stmt->bindParam(":term", $term);
$stmt->execute();
$answer = $stmt->fetch(PDO::FETCH_ASSOC);
Run Code Online (Sandbox Code Playgroud)

这样我可以使用bindParam(":term", $term);而不是'%$term%'在查询中?

我已经在bindParam中查看了这些使用LIKE的MySQL PDO查询使用bindParam的Mysql,PDO-Like语句.但他们没有给我任何正确的答案.

mysql pdo get sqlbindparameter sql-like

2
推荐指数
1
解决办法
4287
查看次数

标签 统计

pdo ×3

php ×2

bindparam ×1

get ×1

mysql ×1

sql ×1

sql-like ×1

sqlbindparameter ×1