我只是尝试从文本框中读取字段,通过ajax将值传递给PHP,然后将数据存储在mysql表中。该表已经设置好并准备好了,我只需要插入值。
这是我的js文件
var address = $("input#email").val();
//If submission is valid
if(submitForm == "true"){
$.ajax({
url: "bin/process.php",
type: "POST",
data: {email: address},
success: function(response) {
$('#message').html(response);
}
});
return false;
}
然后我的PHP看起来像这样
<?php
function process($email){
//Connect to the database
$con = mysql_connect('localhost', 'root', '') ;
if(!$con){
retun mysql_error();
}
//Insert Data into the Table
$sql = 'INSERT INTO Users(email) VALUES ('$email')' ;
$query = mysql_query($sql, $con)
if(!$query){
return mysql_error();
}
return "Thank you for your submission!";
}
echo process(trim($_POST['email']));
?>
现在我收到此错误
Parse error: syntax error, unexpected T_STRING /opt/lampp/htdocs/mysite/bin/process.php on line 3
所以看来我没有正确传递地址值,但我无法弄清楚原因。作为参考,我按照这篇文章中的说明进行操作:Jquery ajax call from javascript to PHP
我不太了解最后一个回声线,但我尝试了多种方法,它们都给了我同样的错误。
提前致谢!
答案 0 :(得分:3)
你拼错了函数:funtion process($email){
应为function process($email){
任何体面的文本编辑器或IDE都会立即为您捕获。
答案 1 :(得分:3)
我在你的代码中发现了3个错误
retun mysql_error(); // return spelling wrong
$sql = 'INSERT INTO Users(email) VALUES ('$email')' ; // syntax error
$query = mysql_query($sql, $con); // semicolon missing
更正后的代码是......
<?php
function process($email){
//Connect to the database
$con = mysql_connect('localhost', 'root', '') ;
if(!$con){
return mysql_error();
}
//Insert Data into the Table
$sql = "INSERT INTO Users(email) VALUES ('$email')" ;
$query = mysql_query($sql, $con);
if(!$query){
return mysql_error();
}
return "Thank you for your submission!";
}
echo process(trim($_POST['email']));
?>
答案 2 :(得分:1)
将查询从单引号更改为此
$sql = "INSERT INTO Users(email) VALUES ('$email')" ;
因为单引号不会解析变量。