我在其他任何地方都使用这个 AJAX 调用,它的效果很好,但只有这样才会出现问题。我不明白这是什么问题?为什么我得到“错误重试记录:”仍然我没有看到任何问题而且很容易。
PS:我回应了 AJAX 端响应中的值,并在那里获得了所有三个值,但数据库出现了问题。此外,相同的 SQL 查询在数据库端工作正常,但当它处理 AJAX 和 PHP 时,就会出现问题。
值通过良好:
id1=get-version&id2=machine055&id3=vmlab
数据库查询似乎没问题:
SELECT `version` FROM `table1` where `machine` = 'machine055'
PHP+用户界面:
serverChange.on('change', function(){
$("#progress").show();
var selectedServer = $(this).val();
$.ajax({
type: "POST",
url: "/web/scripts.php",
data: { id1: "get-version", id2: selectedServer, id3: "vmlab" },
success:function(msg){
$("#progress").hide();
alert(msg);
}
});
});
PHP+Ajax:
if ($_POST['id1'] == "get-version" && $_POST['id3'] == "vmlab") {
$conn = mysqli_connect("localhost", "root", "pwd", "db");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT `version` FROM `table1` where `machine` = '" .trim($_POST['id2']). "'";
if ($conn->query($sql) === TRUE) {
echo "Machine retrieved successfully.";
} else {
echo "Error retried record: " . $conn->error;
}
最佳答案
我尝试了不同的方法并且它工作正常所以没有探索太多,这里是解决方案:
$conn = mysqli_connect("localhost", "root", "pwd", "db");
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT `version` FROM `table1` where `machine` = '" .trim($_POST['id2']). "'";
$result = mysqli_query($conn, $sql);
while($row = mysqli_fetch_array($result)) {
$rows[] = $row['version'];
}
echo ($rows[0]);
$conn->close();
感谢大家阅读问题和解决方案。
关于php - 无法通过 AJAX 请求运行 SQL 查询,使用相同类型的 AJAX 查询并且除此之外在任何地方都可以正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30017453/