Php 数据库条目存在,但搜索结果返回false

Php 数据库条目存在,但搜索结果返回false,php,Php,所以我正在为我的cookie应用程序编写脚本。 这个脚本在另一个page.php中运行良好 搜索cookies 但我被困了2天,循环无法开始和结束 大多数情况下,搜索结果返回false。 我的bindparam是错误的还是遗漏了一些基本的缩进? 我想用这个表格来记录用户对特定cookie的评论。 寻找。 我写这篇文章有可能被禁止我的最后一个问题。 我喜欢堆栈溢出,但我想它不适合初学者。 欢迎所有反馈,我不知道出了什么问题 当几乎相同的脚本在此之前工作时。 当做堂 ps baaaa有时显示,循环不

所以我正在为我的cookie应用程序编写脚本。 这个脚本在另一个page.php中运行良好 搜索cookies 但我被困了2天,循环无法开始和结束 大多数情况下,搜索结果返回false。 我的bindparam是错误的还是遗漏了一些基本的缩进? 我想用这个表格来记录用户对特定cookie的评论。 寻找。 我写这篇文章有可能被禁止我的最后一个问题。 我喜欢堆栈溢出,但我想它不适合初学者。 欢迎所有反馈,我不知道出了什么问题 当几乎相同的脚本在此之前工作时。 当做堂

ps baaaa有时显示,循环不显示,即使我有 ie bak在桌子上什么都看不出来,
我一直在寻找类似的帖子,但没有什么是我的问题。

你只能绑定到预先准备好的语句中的占位符;你没有占位符

因此,创建不带引号的占位符,因为绑定可以干净地为您处理占位符

<?php
require 'database.php';

//if (!empty($_POST['search'])):

$sql1 = "SELECT * FROM cookies2 WHERE  cookie LIKE '%".$_POST['search']."%'";

$request1 = $conn->prepare($sql1);
$request1->bindparam(':search', $_POST['search']);

$request1->execute();
$result1 = $request1->fetch(PDO::FETCH_ASSOC);
var_dump($request1);
$ff = $result1['cookie'];
//endif;
?>
<html>


<meta charset="utf-8" /> 
<body>


<form action="comments.php" method="post"/>
<input type="text" name="search" placeholder="search for user comments"/>
<input type="submit"/>

    <?php
    if(!empty($request1)):
    while($search_result = $request1->fetch(PDO::FETCH_ASSOC)){ 
    var_dump($search_result);?>

    <h1>baaaaaa</h1>
    <p><?= $search_result['cookie']?></p>
    <h3><?= $search_result['comment']?></h3><?php }


 endif;
?>



</body>
</html>
然后在绑定之前将搜索参数包装在通配符中

$sql1 = "SELECT * FROM cookies2 WHERE  cookie LIKE :search";

按如下方式更改查询语句:

$request1->bindparam(':search', '%' . $_POST['search'] . '%');

有关更多详细信息:

感谢两种解决方案都有效,但我不知道如何添加PDO::PARAM_STR
$sql1 = "SELECT * FROM cookies2 WHERE  cookie LIKE :search"; // Changed line no.1

$request1 = $conn->prepare($sql1);
$request1->bindparam(':search', "%".$_POST['search']."%", PDO::PARAM_STR); // Changed line no.2

$request1->execute();
$result1 = $request1->fetch(PDO::FETCH_ASSOC);
var_dump($request1);