如何搜索列并返回整行? [重复]

问题描述 投票:0回答:1
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $text = htmlspecialchars(trim($_POST['errortext']));
}

 $sqlError = "SELECT ERRORSTRING FROM Errors";
 $stmtError = $db->query($sqlError);
   while ($rows = $stmtError->fetchArray(SQLITE3_ASSOC)){
     foreach($rows as $row => $val) {
       if($text != null){
         if(str_contains($val, $text)){
           echo $val . '<br>';
         }
       }
     }
   }

我正在创建一个用户可以搜索的错误日志。该数据库有 14 个字段,其中 3 个可搜索。上面的示例是

ERRORSTRING
字段。

用户搜索一个术语。我希望它能够回显该术语所在的整行。我能够获取错误代码和列标题,但无法让它执行我想要的操作。

php sqlite
1个回答
-2
投票

不是在逻辑中搜索,而是从数据库中搜索,这样你就可以根据搜索得到所有对应的数据

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
  $text = htmlspecialchars(trim($_POST['errortext']));
}

$val = $errorString;
$sqlError = "SELECT * FROM Errors where column like '%$errorString%' ";
$stmtError = $db->query($sqlError);
while ($rows = $stmtError->fetchArray(SQLITE3_ASSOC)) {
  foreach ($rows as $row => $val) {
        echo $val . '<br>';
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.