Php Can';t通过AJAX请求运行SQL查询,使用相同类型的AJAX查询,除此之外,在任何地方都可以正常工作
我在其他任何地方都使用这个AJAX调用,它很有魅力,但只有这样才有问题。我不明白是什么问题?为什么我得到“错误重试记录:”我仍然没有看到任何问题,所以很容易 PS:我在AJAX端响应中重复了这些值,并在那里获得了所有三个值,但数据库给出了问题。更重要的是,同样的SQL查询在数据库端工作得很好,但当它处理AJAX和PHP时,就会出现问题 数值通过罚款: id1=获取版本&id2=machine055&id3=vmlab 数据库查询似乎很好:Php Can';t通过AJAX请求运行SQL查询,使用相同类型的AJAX查询,除此之外,在任何地方都可以正常工作,php,ajax,Php,Ajax,我在其他任何地方都使用这个AJAX调用,它很有魅力,但只有这样才有问题。我不明白是什么问题?为什么我得到“错误重试记录:”我仍然没有看到任何问题,所以很容易 PS:我在AJAX端响应中重复了这些值,并在那里获得了所有三个值,但数据库给出了问题。更重要的是,同样的SQL查询在数据库端工作得很好,但当它处理AJAX和PHP时,就会出现问题 数值通过罚款: id1=获取版本&id2=machine055&id3=vmlab 数据库查询似乎很好: SELECT `version` FROM `table
SELECT `version` FROM `table1` where `machine` = 'machine055'
PHP+UI:
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();
感谢大家阅读此问题和解决方案。您将id3作为selenium传递,并期待VMLAB。我很抱歉造成混淆,我正在编辑此帖子,但仍然存在打字错误。事实上,它是vmlab,然后它也不工作。您是否尝试直接在服务器上运行查询?你有什么结果吗?