Php 数据库条目存在,但搜索结果返回false
所以我正在为我的cookie应用程序编写脚本。 这个脚本在另一个page.php中运行良好 搜索cookies 但我被困了2天,循环无法开始和结束 大多数情况下,搜索结果返回false。 我的bindparam是错误的还是遗漏了一些基本的缩进? 我想用这个表格来记录用户对特定cookie的评论。 寻找。 我写这篇文章有可能被禁止我的最后一个问题。 我喜欢堆栈溢出,但我想它不适合初学者。 欢迎所有反馈,我不知道出了什么问题 当几乎相同的脚本在此之前工作时。 当做堂 ps baaaa有时显示,循环不显示,即使我有 ie bak在桌子上什么都看不出来,Php 数据库条目存在,但搜索结果返回false,php,Php,所以我正在为我的cookie应用程序编写脚本。 这个脚本在另一个page.php中运行良好 搜索cookies 但我被困了2天,循环无法开始和结束 大多数情况下,搜索结果返回false。 我的bindparam是错误的还是遗漏了一些基本的缩进? 我想用这个表格来记录用户对特定cookie的评论。 寻找。 我写这篇文章有可能被禁止我的最后一个问题。 我喜欢堆栈溢出,但我想它不适合初学者。 欢迎所有反馈,我不知道出了什么问题 当几乎相同的脚本在此之前工作时。 当做堂 ps baaaa有时显示,循环不
我一直在寻找类似的帖子,但没有什么是我的问题。你只能绑定到预先准备好的语句中的占位符;你没有占位符 因此,创建不带引号的占位符,因为绑定可以干净地为您处理占位符
<?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);