问题是我在script.js中编写了这个脚本:
$('[name="submitBtn"]').click(function(){
var nickname= $('[name="username"]').val();
$.post("functions.php",
{
name: nickname
},
function(response,status){
alert("*----Received Data----*\n\nResponse : " + response+"\n\nStatus : " +status);
})
})
这是关于functions.php:
if(isset($_POST["name"]))
{
$name = $_POST["name"];
mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$name')");
echo "Welcome ". $name ."!";
}
问题是我得到了正确的警报,看起来很好。所以,如果我理解正确,php变量$ name获取值。但它不会将sql查询插入数据库。另外我在functions.php"上得到错误"未定义的索引名称;我也不明白。尝试了很多方法但是所有的时间" name"是未定义的索引:S
LF帮助。
问候。
编辑:
发生了神秘的事情。
<?php
$test="welcome";
// mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$test')");
if(isset($_POST["name"])){
$name = $_POST["name"];
$test="Welcome ". $name ."!";
echo $test;
mysql_query("INSERT INTO `user`(`user_id`, `username` ) VALUES ('', '$test')");
}
?>
如果我取消注释第二行,它会插入&#34; welcome&#34;到我在DB的桌子, 但条件中的查询从未起作用。另外echo $ test也可以。
答案 0 :(得分:0)
您需要将PHP变量粘贴到de string中,如下所示:
VALUES(&#39;&#39;,&#39;&#34;。$ name。&#34;&#39;)&#34;);
否则,您的查询将包含变量名称,而不是它应具有的PHP值。