Javascript 我的代码不适用于select
我知道有人问过我这个问题,但在浏览了这个网站和其他网站的教程之后,我找不到解决方案。我有DELETE、SELECT(*)和INSERT语句,它们使用几乎相同的语法,但由于某些原因,这不起作用。我试图返回用户从数据库创建的文件列表,以下是我的Javascript和PHP:Javascript 我的代码不适用于select,javascript,php,mysql,ajax,mysqli,Javascript,Php,Mysql,Ajax,Mysqli,我知道有人问过我这个问题,但在浏览了这个网站和其他网站的教程之后,我找不到解决方案。我有DELETE、SELECT(*)和INSERT语句,它们使用几乎相同的语法,但由于某些原因,这不起作用。我试图返回用户从数据库创建的文件列表,以下是我的Javascript和PHP: Javascript: $('#btnLoad').on('click', function(e) { e.preventDefault(); var dataString ='emailHold
Javascript:
$('#btnLoad').on('click', function(e) {
e.preventDefault();
var dataString ='emailHolder=' + email;
$.ajax({
type: "POST",
url: "process_load.php",
data: dataString,
dataType:'json',
success: function(data){
alert(data);
},
});
});
以及process_load.php文件:
<?php
include_once 'db_connect.php';
include_once 'psl-config.php';
$email = $_POST['emailHolder'];
$query="SELECT filename from maps WHERE email=?";
$email = filter_var($email, FILTER_VALIDATE_EMAIL);
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param('s', $email);
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($email);
/* fetch values */
while ($stmt->fetch()) {
printf ("%s\n", $email);
}
/* close statement */
$stmt->close();
}
?>
我很感激你能给我的任何帮助
编辑:抱歉,我正在绑定参数,但在尝试将厨房水槽扔向问题时意外删除了它。谢谢大家的帮助 您缺少
绑定参数()
。第二,Javascript需要JSON,但您只是输出由新行分隔的原始电子邮件。改为:
$output = array(); // build an array that can be json encoded
if ($stmt = $mysqli->prepare($query)) {
$stmt->bind_param('s', $email); // bind the param in the WHERE clause
/* execute statement */
$stmt->execute();
/* bind result variables */
$stmt->bind_result($email);
/* fetch values */
while ($stmt->fetch()) {
$output[] = $email; // append to the array
}
/* close statement */
$stmt->close();
}
echo json_encode($output); // output json
现在,您可以在Javascript端获取电子邮件数组:
$.ajax({
type: "POST",
url: "process_load.php",
data: dataString,
dataType:'json',
success: function(data){
for(var i=0; i<data.length; i++){
console.log( data[i] ); // logs each email
}
},
});
$.ajax({
类型:“POST”,
url:“process_load.php”,
数据:dataString,
数据类型:'json',
成功:功能(数据){
对于(var i=0;i而言,您的主要问题是您试图同时坐在两张椅子上,甚至更多的椅子上
由于没有工作的服务器端代码,甚至不知道如何编写,您已经在尝试编写JS和AJAX。因此,您有一堆非常随机的代码行,并且不知道为什么它不工作
这样不行。
- 首先,您必须学习如何使用mysqli。一般来说
- 只有在这之后才能尝试编写服务器端代码
- 最后,只有在使服务器端部分能够处理模拟数据之后,才可以从JS开始
您收到的错误消息是什么?您提供了json数据类型,因此您必须对输出进行json编码。您的查询中有一个?但我看不到您将值绑定到它的位置。您应该绑定到电子邮件的值在哪里?很抱歉,我在清理代码时忘记将其重新添加。当我尝试不同的操作时,我发现st意外地删除了它,这显然造成了更多的问题。