简单搜索程序PHP/SQL
修正:谢谢大家的帮助,对于那些需要从某个地方开始的人,你可以将此作为参考 我正在努力学习PHP SQL HTML,我在正确运行代码方面遇到了困难,你能帮我一下吗。我已经看过很多例子了,但是我无法实现,我的html表单没有显示出来。这是一个程序,它将搜索用户在搜索表单中输入的内容,并在sql数据库中查找简单搜索程序PHP/SQL,php,html,sql,Php,Html,Sql,修正:谢谢大家的帮助,对于那些需要从某个地方开始的人,你可以将此作为参考 我正在努力学习PHP SQL HTML,我在正确运行代码方面遇到了困难,你能帮我一下吗。我已经看过很多例子了,但是我无法实现,我的html表单没有显示出来。这是一个程序,它将搜索用户在搜索表单中输入的内容,并在sql数据库中查找 <html> <head> <meta http-equiv="Content-Type" content="text/html; char
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Search Contacts</title>
</head>
<body>
<h3>Search Contacts Details</h3>
<p>You may search either by first or last name</p>
<form method="post" action="#" id="searchform">
<input type="text" name="name">
<input type="submit" name="submit" value="Search">
</form>
<?php
$servername = "xxx";
$username = "xxx";
$password = "xxx";
$dbname = "Staff";
$myquery = $_POST["name"];
// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
搜索联系人
搜索联系人详细信息
您可以按名字或姓氏搜索
您需要使用“
将SQL语句更正为类似的
$sql = "select ID, FirstName, LastName, Email, PhoneNumber
from Userlist where FirstName LIKE '%". $myquery ."%'" ;
另外,由于$myquery
变量依赖于$\u POST
,因此我认为您应该执行以下操作:
if (!empty($_POST["name"])) {
$myquery = $_POST["name"];
$sql = "select ID, FirstName, LastName, Email, PhoneNumber
from Userlist where FirstName LIKE '%". $myquery ."%'" ;
//Get query on the database
$result = mysqli_query($conn, $sql);
//Check results
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
echo "id:" . $row["ID"] .
" - Name: " . $row["LastName"]. " " . $row["FirstName"]. // Correct here
" - Email: " . $row["Email"] .
" - PhoneNumber: " . $row["PhoneNumber"]. "<br>";
}
} else {
echo "0 results";
}
}
if(!empty($\u POST[“name”])){
$myquery=$\u POST[“name”];
$sql=“选择ID、姓氏、姓氏、电子邮件、电话号码
来自名为“%”“$myquery.”“%”的用户列表;
//获取对数据库的查询
$result=mysqli\u查询($conn,$sql);
//检查结果
如果(mysqli_num_行($result)>0)
{
while($row=mysqli\u fetch\u assoc($result))
{
回显“id:”.$行[“id”]。
“-Name:.$row[“LastName”]。.$row[“FirstName”]。//请在此处更正
“-电子邮件:”.$row[“电子邮件”]。
“-PhoneNumber:”.$row[“PhoneNumber”]。“
”;
}
}否则{
回显“0结果”;
}
}
并确保表单操作与PHP代码所属的当前页面相同。在if(!$conn){}之后缺少右大括号。尝试为每行输出使用回显。
第二,注意“建议”。
第三,为了安全起见,请转义post变量。您到底遇到了哪些错误?检查您的错误日志您忘记了SQL语句中的。抱歉,我没有看到任何错误,我正在记事本上写下这个,并通过web浏览器运行它,看看它是否有效,并且它没有显示任何内容。如果我删除php代码,我可以看到表单,我测试了我与数据库的连接,我可以连接,但是当我放置php代码进行搜索时,我再也看不到我的html搜索表单了。你使用的是哪台服务器?我们需要看到错误消息,因为如果你的HTML没有显示,这意味着有一个PHP错误,不允许加载任何其他内容。嗨,我使用vmware和ubuntu,安装了LAMP,我只是在根驱动器上创建一个.PHP文件,测试它在浏览器中是否工作,我不知道在哪里可以看到日志文件。。Sorry这不是正确的修复方法:$sql=“从用户名类似“%”的用户列表中选择ID、FirstName、LastName、Email、PhoneNumber$我的查询。“%'”@devJunk你写的东西和密码悖论一样。¯_(ツ)_/“他编辑了它。第二个”在%之前您好,谢谢您的帮助,但是我的html表单仍然没有显示…@XanderVane check update answerYes我的ubuntu系统上有LAMP,我可以从phpmyadmin输出表,而不需要html代码块,但是如果我合并它们,什么也看不出来。我最初加载页面时,您的评论不在那里……php不会停止该页面的加载g、 你在body标签前面有一个标签,试着去掉它。谢谢你,之前很抱歉。我已经在body标签前面去掉了标签,但是仍然没有显示。在表单action url之后的查询是什么,在?go
部分?因为你只提交给self-will-action=“#”不做?这是你的意思我应该做的吗?action=“#”,我现在试着运行它,但仍然不起作用。谢谢,我遵循了“建议,我在html代码中使用了$\u POST从表单方法获取值,这是我在某处看到的。我现在的主要问题是,我的html搜索表单没有显示用户输入的表单,还是您正在尝试用php输出表单?
if (!empty($_POST["name"])) {
$myquery = $_POST["name"];
$sql = "select ID, FirstName, LastName, Email, PhoneNumber
from Userlist where FirstName LIKE '%". $myquery ."%'" ;
//Get query on the database
$result = mysqli_query($conn, $sql);
//Check results
if (mysqli_num_rows($result) > 0)
{
while($row = mysqli_fetch_assoc($result))
{
echo "id:" . $row["ID"] .
" - Name: " . $row["LastName"]. " " . $row["FirstName"]. // Correct here
" - Email: " . $row["Email"] .
" - PhoneNumber: " . $row["PhoneNumber"]. "<br>";
}
} else {
echo "0 results";
}
}