gpt4 book ai didi

javascript - 使用 AJAX 将 SQL WHERE 查询获取到 javascript

转载 作者:行者123 更新时间:2023-11-29 01:49:38 26 4
gpt4 key购买 nike

我正在尝试将一个 javascript 变量传递到一个 SQL WHERE 查询中,但我一直返回 null。

单击按钮时,运行 buttonClick 函数:

<script>
var var1;
function buttonClick(elem){
var1 = elem.src //this gets the url from the element
var path = var1.slice(48); //this cuts the url to img/art/9/1.jpg
ajax = theAjax(path);
ajax.done(processData);
ajax.fail(function(){alert("Failure");});
}

function theAjax(path){
return $.ajax({
url: 'info.php',
type: 'POST',
data: {path: path},
});
}

function processData(response_in){
var response = JSON.parse(response_in);
console.log(response);
}
</script>

这是存储在 info.php 文件中的代码:

<?php
$path = $_POST['path'];

$result3 = mysqli_query("SELECT itemName from images WHERE imgPath='$path'");
$json = json_encode($result3);

echo $json
?>

如您所见,单击按钮后,buttonClick() 函数就会运行,并且变量会存储图像路径或 src。 path 变量被发送到 theAjax() 函数,并在函数中被传递到 info.php 页面。在 info.php 页面中,SQL WHERE 查询被运行并返回到 processData() 函数以在开发人员控制台中进行解析和打印。打印的值显示为 null

下面是我试图从数据库中获取的图片: enter image description here

最佳答案

1.检查路径是否正确?您可以使用 console.log(path); 或在 PHP 端使用 print_r($_POST['path']);

检查内部 jquery

2.您的 Php 代码缺少连接对象以及记录获取代码。

<?php

if(isset($_POST['path'])){
$path = $_POST['path'];

$conn = mysqli_connect ('provide hostname here','provide username here','provide password here','provide dbname here') or die(mysqli_connect_error());

$result3 = mysqli_query($conn,"SELECT itemName from images WHERE imgPath='$path'");

$result = []; //create an array

while($row = mysqli_fetch_assoc($result3)) {
$result[] = $row; //assign records to array
}
$json = json_encode($result); //encode response
echo $json; //send response to ajax
}

?>

注意:-此 PHP 查询代码对 SQL INJECTION 是完全开放的。所以尽量使用mysqli_*prepared statements或者PDO

关于javascript - 使用 AJAX 将 SQL WHERE 查询获取到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50035112/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com