gpt4 book ai didi

php - 允许用户在数据库中搜索用户名/电子邮件并显示结果

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

我试图允许用户搜索数据库并回显结果,问题是我想搜索多个表。我知道我可以执行 SELECT * FROM x1, x2 但这些行被命名为其他名称,所以我不能 echo $row['用户名']当另一行是 username2 时。也许如果可能的话,比如 if($row == 不管怎样),我不知道。感谢您的帮助。

<?php
$search = $_POST['Srch'];
$host = "whatever";
$db = "whatever";
$user = "whatever";
$pwd = "whatever";
$link = mysqli_connect($host, $user, $pwd, $db);
$query = "SELECT * FROM users WHERE email LIKE '%$search%'";
$results = mysqli_query($link, $query);

if(isset($_POST['Srch'])) {
if(mysqli_num_rows($results) >= 0) {
while($row = mysqli_fetch_array($results)) {
echo "Username: " . $row['username'];
echo "Email: " . $row['email'];
}
}
}
?>
<body>
<form action="" method="POST">
<input type="Text" name="Srch">
<input type="Submit" name="Submit">
</form>

编辑:找到了一种方法来做到这一点。像这样的东西有效:

function search1() {
// Search stuff here
}
function search2() {
// Search more stuff here
}

if(isset($_POST['Srch'])) {
search1();
search2();
}

最佳答案

如果您想搜索多个表,则必须以某种方式将它们连接起来。由于您没有发布表结构,我只能对您想要做什么做出假设,但一般语法是:

$query = "SELECT * FROM users u LEFT JOIN something s ON s.id = u.something_id WHERE u.email LIKE '%$search%'";

然后您可以回显返回的不同列。但同样,这个问题需要更多信息才能得到更好的答案。

希望这能有所帮助!

关于php - 允许用户在数据库中搜索用户名/电子邮件并显示结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177876/

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