我正在尝试使用php html和mysql开发一个实时搜索应用程序。当我运行它时,我收到一个错误
无法加载资源:服务器响应状态为404 服务器中的(未找到)错误。
这是我的html和php:
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
function getStates(value) {
$.post("mypage.php", {partialState: value}, function (data) {
$("#results").html(data);
});
}
</script>
</head>
<body>
<input type="text" onkeyup="getStates(this.value)" />
<br>
<div id="results"></div>
</body>
</html>
PHP:
<?php
mysql_connect("localhost:3306", "root", "root") or die(mysql_error());
mysql_select_db("mydb") or die(mysql_error());
$partialStates = $_POST['partialState'];
$states = mysql_query("select name from software where name like '% {$partialStates}%'");
while ($state = mysql_fetch_array($states)) {
echo"<div>" . $states['name'] . "</div>";
}
?>
答案 0 :(得分:2)
这适用于我的电脑 HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script type="text/javascript">
function getStates(value){
$.post("mypage.php", {partialState:value}, function(data){
$("#results").html(data);
});
}
</script>
</head>
<body>
<input type="text" onkeyup="getStates(this.value)">
<br>
<div id="results"></div>
</body>
</html>
PHP:
<?php
$partialStates = $_POST['partialState'];
$query = 'SELECT name FROM software WHERE name LIKE "%'.$partialStates.'%"';
$mysqli = new mysqli("127.0.0.1","root","root","mydb");
if($mysqli->connect_errno){
echo "Keine Verbindung mit MySQL. :/";
}
$result = $mysqli->query($query);
$data = $result->fetch_all();
foreach($data as $row){
echo "<div>".$row[0]."</div>";
}
?>
如果它仍然不起作用:
- 确保mypage.php和mypage.html都在同一目录中
-
答案 1 :(得分:0)
确保已安装Xampp / wamp。然后在xamp中启动apache,mysql。然后使用您的项目名称将代码粘贴到xampp的htdoc文件夹中,然后导航到localhost / you_folder_name。
尝试将echo"<div>" . $states['name'] . "</div>";
更改为echo"<div>" . $state['name'] . "</div>";
你得到的数据库名称列表与匹配的字符串匹配吗?所以肯定没有一个名字。所以我认为它会将其作为数组返回。尝试在mypage.php
中使用以下代码。
while ($state = mysql_fetch_array($states)) {
echo"<div> <pre>" ;
print_r ($states['name']); //or print_r($states); or echo $state['name'];
echo "</pre></div>";
}
我在评论中写了或因为我不知道你在$states
得到了什么,如果你有一些haw打印数组并将其粘贴到你的问题