固定:感谢大家的帮助,对于那些需要从某个地方开始的人,你可以用这个作为参考
我正在尝试学习PHP SQL HTML,我很难正确运行我的代码,你能帮帮我吗?我已经看了很多例子,但我无法让它工作,我的 html 表单没有出现。这是一个程序,它将搜索用户在搜索表单中输入的内容,并在sql数据库中查找它。
<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查询
if (!empty($_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";
}
}
mysqli_close($conn);
?>
</body>
</html>
您需要使用 '
更正 SQL 语句以LIKE
。
$sql = "select ID, FirstName, LastName, Email, PhoneNumber
from Userlist where FirstName LIKE '%". $myquery ."%'" ;
另外,由于您$myquery
变量$_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";
}
}
并确保你的表单操作与你的PHP代码所属的当前页面相同。
if (!$conn) { } 之后缺少右大括号
尝试对每行输出使用回显。其次要注意'建议'。第三,为了安全起见,转义你的帖子变量。