我正在尝试将一个javascript变量传递到sql中,在sql中,我不断得到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页面中,运行查询并将其返回到processdata()函数的sql,以便在开发人员控制台中进行分析和打印。打印的值显示为空。
下面是我试图从数据库中获取的内容的图片:
3条答案
按热度按时间zu0ti5jz1#
我认为你的问题是你试图编码一个数据库资源。
请尝试调整您的php,使其如下所示:
fhity93d2#
1.检查一下
path
正确与否?您可以使用console.log(path);
或者在php端使用print_r($_POST['path']);
2.您的php代码丢失了连接对象以及记录获取代码。note:- this php查询代码对
SQL INJECTION
. 所以试着用prepared statements
的mysqli_*
或者PDO
.niknxzdl3#
mysqli_query()
必需的第一个参数作为连接对象。