我无法使用AJAX和PHP从HTML文件中获取从数据库返回的值。我有一个mysql数据库,其中包含headCode值和5个位置。使用进入headCode和一个位置。如果headCode和其中一个位置成为记录,那么PHP将返回一个值。 EG头码 - 1A,位置,维多利亚将返回值17。
我把它全部用在了Ajax上,但是使用Ajax我无法获得返回的值。
HTML代码
<script src="\jquery-3.1.0.min.js"></script>
<script>
$(document).ready(function() {
$('#submit').click(function(e){
e.preventDefault();
$.ajax({
type:"POST",
data:{idheadcode: $('#headcode').val(), idlocation: $('#location').val()},
url: "headcode_Db_connect.php",
success: function(data){
$("#content").html(data);
}
});
});
});
</script>
</head>
<body>
<form name="input">
HeadCode: <input type="text" id="headcode">
End Location:<input type="text" id="location">
<input type="submit" id="submit">
</form>
<div id="content"></div>
PHP代码
<?php
$headcode = $_POST['headcode'];
$location = $_POST['location'];
$host="localhost"; // Host name
$username="root"; // Mysql username
$password="789852"; // Mysql password
$db_name="work"; // Database name
$tbl_name = "headcodes";
// Connect to server and select database.
$link = mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$sql = "SELECT * FROM $tbl_name WHERE headcode= '$headcode'AND (location1= '$location' OR location2 = '$location' OR location3= '$location' OR location4 = '$location' OR location5 = '$location')" ;
$result1 = mysql_query($sql, $link);
if($result1){
//echo "Successful";
}
else {
echo "ERROR";
}
while ($row = mysql_fetch_assoc($result1)){
$number = $row['number'];
}
$myJson = json_encode ($number);
echo $number;
echo "10";
?>
php文件底部的echo 10仅用于测试。这将返回到HTML文件,证明文件正在传递数据
答案 0 :(得分:1)
在您的php文件中,您正在访问错误的密钥。按如下方式访问正确的密钥:
$headcode = $_POST['idheadcode'];
$location = $_POST['idlocation'];
也不要使用已弃用的mysql扩展名。我建议你开始使用pdo或mysqli
学习预备语句另一个建议是,在开发环境中,始终启用错误报告,如下所示
error_reporting(E_ALL);//place at the top of the script