我已经构建了这个小脚本,在我的数据库中搜索一个表,但是对于我的生活,我似乎找不到任何地方如何显示表信息,如果有人只搜索电子邮件。我希望能够只搜索电子邮件,并有它显示从数据库的电子邮件地址的所有信息。任何想法吗?
<?php
$profile = $_POST["profile"];
mysql_connect ("", "", "");
mysql_select_db ("");
$query = "SELECT * FROM `profile` WHERE `email`='$email' and `about`='$about' and
`age`='$age' and `sex`='$sex' and `website`='$website'";
$result = mysql_query ($query);
if ($result) {
while($row=mysql_fetch_row($result))
{
echo $row[0],$row[1],$row[2];
}
}else{
}
?>
<form action="profile.php" method="post">
<input type="text" name="search"><br>
<input type="submit">
非数字字段必须用单引号括起来。
<?php
$search = $_POST["search"];
mysql_connect("localhost", "username", "password") OR die (mysql_error());
mysql_select_db ("your_db_name") or die(mysql_error());
$query = "SELECT * FROM `profile` WHERE `email`='$search'";
$result = mysql_query($query) or die (mysql_error());
if($result)
{
while($row=mysql_fetch_row($result))
{
echo $row[0],$row[1],$row[2];
}
}
else
{
echo "No result";
}
?>
<form action="profile.php" method="post">
<input type="text" name="search"><br>
<input type="submit">
</form>
编辑:在上面的代码片段中,您有一个text
字段和一个submit button
,因此您可以使用"search"
字段值一次搜索任何一个数据库字段。
如果你想在电子邮件上搜索,那么sql查询将是:
SELECT * FROM `profile` WHERE `email`='$search'";
您可以使用OR
运算符搜索一个或多个字段:
SELECT * FROM `profile` WHERE `email`='$search' or about`='$search'";
可以使用LIKE运算符搜索字符串
SELECT * FROM `profile` WHERE `email` LIKE '%$search%'";
最简单的方法是编写另一个查询
$query = "SELECT * FROM profile WHERE email='$email'";