【发布时间】:2013-10-07 14:06:10
【问题描述】:
我刚刚开始尝试学习 PHP 和 MYSQL,并且一直在学习一些创建网页搜索引擎的教程,但是遇到了一个问题,即当我提交表单时没有返回结果,我不知道到问题所在或尝试解决问题的位置,所以它认为值得一试将我的问题发布在这里。希望有人能帮助我,在此先感谢。
PHP
<?php
mysql_connect("localhost","root","123")or die("Could not connect to Db");
mysql_select_db("members") or die("Could not find db");
if(isset($_POST['submit'])){
$searchq = $_POST['submit'];
$searchq = preg_replace("#[^0-9a-z]#i","",$searchq);
$query = mysql_query("Select * FROM memberlist WHERE Fname LIKE '%$searchq%' OR Lname LIKE '%$searchq%' ") or die(mysql_error());
$count = mysql_num_rows($query);
if($count == 0){
$output = "No results were found, sorry.";
}
else{
while($row = mysql_fetch_array($query)){
$firstname = $row['Fname'];
$lastname = $row['Lname'];
$output .= "<div>".$firstname." ".$firstname."</div>";
}
}
}
?>
HTML
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Search</title>
</head>
<body>
<form action="index.php" method="post">
<input type="text" name="searchfname" placeholder="Enter first name">
<input type="text" name="searchlname" placeholder="Enter last name">
<input type="submit" name="submit" value="Submit">
</form>
<?php print($output);?>
</body>
</html>
【问题讨论】:
-
(1) mysql_* 函数已弃用,不应使用。查找使用更新的 PDO 或 mysqli 函数的教程,否则您将迷失在 PHP 的未来版本中。 PDO 和 mysqli 也将允许您使用参数,这将防止 SQL 注入。 (2) 它在哪里断裂?它是说“没有找到结果”还是只输出你的其他结果?如果它说没有找到结果,请尝试回显您的查询并将其直接放入 mysql 客户端。
-
@Jack:以上列表是在同一个文件中还是在不同的文件中?
标签: php mysql database html forms