gpt4 book ai didi

php - 使用 LIKE 语句搜索 MySQL 数据库

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

我需要返回数据库中用户的搜索结果。

目前,我已经设法在 MySQL 查询中使用 LIKE 函数来返回结果计数,但我需要它来回显所有结果的用户名,而不仅仅是第一个结果:

<?php
// mysql details
$host="localhost"; // Host name
$username="classified"; // Mysql username
$password="classified"; // Mysql password
$db_name="jaycraftcommunity"; // Database name
$tbl_name="members"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");

// form variable to local
$search = $_POST['username'];

// make query
//$sql = "SELECT * FROM $tbl_name WHERE (username='$search' OR verified='$search')"; // sql query
$sql = "SELECT username FROM $tbl_name WHERE username LIKE '%$search%'"; // sql query
$result = mysql_query($sql); // do query

// handle query data
$count = mysql_num_rows($result);
$row = mysql_fetch_row($result);
$array = mysql_fetch_array($result);

echo $count;

foreach( $row as $arrays ): ?>
<tr>
<td><?php echo htmlspecialchars( $arrays ); ?></td>
<br />
</tr>
<?php
endforeach;
?>

HTML 表单如下所示:

<h2>Search</h2>

<form method="post" action="search_engine.php">
Search for:
<input type="text" name="username">
<input type="submit" value="Search for username">
</form>

此时,如果您转到http://dev.jaycraft.co/player/dupe/search.php你可以看到它的实际效果。搜索单个字母,用 echo $count 显示有多少个结果,但只回显第一个结果。

谢谢

最佳答案

每次调用mysql_fetch_row($result)都会返回另一行并推进游标。您只需使用 while() 循环结果中的所有行即可:

while($row = mysql_fetch_row($result)) {
echo $row[0];
}}

为了便于使用,最好使用mysql_fetch_assoc($result);,它将返回一个关联数组:

while($row = mysql_fetch_assoc($result)) {
echo $row['username'];
}}

关于php - 使用 LIKE 语句搜索 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15843492/

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