gpt4 book ai didi

php - 显示 sql 查询的多个结果

转载 作者:行者123 更新时间:2023-11-29 11:35:46 25 4
gpt4 key购买 nike

所以我试图在搜索查询时显示数据库中的多个结果,该查询是从另一个页面上的搜索框传递的。

我让它显示一个结果,但这就是它会显示的全部结果。我需要它来显示与搜索查询相关的所有结果。

php代码如下

<meta charset="UTF-8">
<?php
$mysqli = new mysqli('localhost', 'scott', 'tiger','courses');
if ($mysqli->connect_errno)
{
die('Database connection failed');
}
//$m->set_charset('utf8');
$search_sql = "
SELECT title, summary, id
FROM course
WHERE title LIKE '%".$_POST['searchBar']."%'";
$result = $mysqli->query($search_sql) or die($mysqli->error);
$search_result = $result->fetch_assoc();
?>
<!doctype html>
<head>
<meta charset="utf-8">
<h1>Search Results</h1>
</head>
<body>
<h3><?= $search_result['title'] ?></h1>
<p><?= $search_result['summary'] ?></p>
</body>

以及搜索栏的代码

<!doctype html>
<html>
<Head>
<meta charset = "utf-8">
<title>Search</title>
</head>
<body>
<h2>Search</h2>
<form name="search" method="post" action="SearchResultsPage.php">
<input name="searchBar" type="text" size="40" maxlength="60" />
<input type="submit" name="Submitsearch" value="Search" />
</form>
</body>

有人有什么建议吗?

提前致谢;

最佳答案

您需要将其放入 while 循环中以显示多个结果,您使用的 fetch 函数只会检索一行,如果将其放入循环中,您可以继续获取,直到没有任何内容可获取:

//$m->set_charset('utf8');
$search_sql = "
SELECT title, summary, id
FROM course
WHERE title LIKE '%".$_POST['searchBar']."%'";
$result = $mysqli->query($search_sql) or die($mysqli->error);
?>
<!doctype html>
<head>
<meta charset="utf-8">
<h1>Search Results</h1>
</head>
<body>
<?PHP while($search_result = $result->fetch_assoc()) { ?>
<h1><?= $search_result['title'] ?></h1>
<p><?= $search_result['summary'] ?></p>
<?PHP } ?>
</body>

附注你的代码很容易受到 SQL 注入(inject)的攻击,你应该阅读有关准备好的语句的内容。 More Info on that

关于php - 显示 sql 查询的多个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36623956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com