这是我的尝试:
$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) 我正在测试一个小搜索功能:
但我遇到了一个我似乎无法解决的错误.您可以在此处查看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) 是否有任何转换方式
$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语句.但他们没有给我任何正确的答案.