问题是..我尝试从php解析json ..这是jquery代码:
$.post( "confirmsignup.php", $("#signupform").serialize()).always(function( data ) {
alert(data.msg);
}, "json");
PHP代码:
if (isset($_POST['gender'])&&isset($_POST['fname'])&&isset($_POST['sname'])&&isset($_POST['username'])&&isset($_POST['dob'])) {
$gender=secureing($_POST['gender']);
$fname=secureing($_POST['fname']);
$sname=secureing($_POST['sname']);
$username=secureing($_POST['username']);
$email=secureing($_POST['email']);
$dob=secureing($_POST['dob']);
if (isset($_POST['agree'])&&isset($_POST['pass'])&&isset($_POST['repass'])) {
$pass=secureing($_POST['pass']);
if ($_POST['pass']==secureing($_POST['repass'])) {
$query = "INSERT INTO users VALUES('$username', '$gender', '$fname', '$sname', '$email', '".md5($pass)."', '$dob')";
if(!($query_run = mysql_query($query))){
$msg = "error";
}else{
$msg = "complete";
}
}
}
}
header('Content-Type: application/json');
?>
{
"msg": "<?php echo $msg ." - ". $query; ?>"
}
secureing()
用于在escape_string之后返回字符串。
$msg
假设返回字符串“complete”...但它返回“error”..
但是在phpmyadmin中,查询已成功执行..
我认为没有错误......我的错误是什么?请帮助..
答案 0 :(得分:1)
很久以前我也有同样的问题!
它是因为你没有表中的任何AI主键!
在表格中添加这样的字段:id
INT
Primary Key
Auto Increment
。
这会有效!
并迁移到mysqli或pdo以获得更好的安全性和支持! ;)
答案 1 :(得分:0)
是否可以使用您的代码更改以下代码,我已使用mysql_insert_id
检查是否插入了记录。
$query = "INSERT INTO users VALUES('$username', '$gender', '$fname', '$sname', '$email', '".md5($pass)."', '$dob')";
$query_run = mysql_query($query);
$id = mysql_insert_id();
if($id > 0)
{
$msg = "complete";
}
else
{
$msg = "error";
}
它可能对你有帮助。
答案 2 :(得分:0)
尝试我的代码似乎你提出了错误的条件
app.get('*', function(req, res){
res.sendFile(__dirname + '/public/dist/index.html');
});
答案 3 :(得分:0)
我刚刚找到解决方案,将我的php API更改为连接数据库 从:
if(!@mysql_connect('localhost', 'root', '')||!@mysql_select_db('knewit')){
die("something not right");
}
为:
$mysqli = new mysqli("localhost", "root", "", "knewit");
之后,我将执行方法从mysql_query
更改为$mysqli->query
我还将我的jquery post方法从always
更改为done
。
最后的代码是这样的。
jQuery脚本:
$.post( "confirmsignup.php", $("#signupform").serialize()).done(function( data ) {
alert(data.msg);
}, "json");
PHP脚本:
if (isset($_POST['agree'])&&isset($_POST['pass'])&&isset($_POST['repass'])) {
$passs=secureing($_POST['pass']);
if ($_POST['pass']==secureing($_POST['repass'])) {
$query = "INSERT INTO users VALUES('$username', '$gender', '$fname', '$sname', '$email', '$passs', '$dob')";
if(!($query_run = $mysqli->query($query))){
$msg = "error";
}
else
{
$msg = "complete";
}
}
}
}
header('Content-Type: application/json');
$arrayName = array('msg' => $msg );
echo json_encode($arrayName);
谢谢你回答我的问题。我真的很感激。