【发布时间】:2017-04-17 05:06:53
【问题描述】:
我有这段代码,在测试两个值以插入 mysql 数据库时,它只是没有插入任何东西。我是混淆了值还是代码中有错误?使用 wamp 服务器。发生以下错误;
Undefined index: name in C:\wamp\www\info.php on line 3
Undefined index: desc in C:\wamp\www\info.php on line 4
但我尝试使用这些值但无法弄清楚。
index.html
<html>
<head><title></title></head>
<body>
<form id="myForm" action="userInfo.php" method="post">
Name: <input type="text" name="name" /><br />
Age : <input type="text" name="age" /><br />
<button id="sub">Save</button>
</form>
<span id="result"></span>
<script src="jquery-1.8.1.min.js" type="text/javascript"></script>
<script src="my_script.js" type="text/javascript"></script>
</body>
</html>
用户信息.php
<?php
include_once('db.php');
$name = $_POST['name'];
$age = $_POST['age'];
if(mysql_query("INSERT INTO user VALUES('$name', '$age')"))
echo "Successfully Inserted";
else
echo "Insertion Failed";
?>
我的脚本部分
$("#sub").click( function() {
$.post( $("#myForm").attr("action"),
$("#myForm :input").serializeArray(),
function(info){ $("#result").html(info);
});
});
$("#myForm").submit( function() {
return false;
});
function clearInput() {
$("#myForm :input").each( function() {
$(this).val('');
});
}
更新: 仍然没有修复。得到错误:
Notice: Undefined index: name in C:\wamp\www\userInfo.php on line 4
Notice: Undefined index: age in C:\wamp\www\userInfo.php on line 5
Insertion Failed
【问题讨论】:
-
危险:您使用的是 an obsolete database API,它是 PHP 中的 removed。您应该选择modern replacement。您很容易受到SQL injection attacks的影响,现代 API 可以让您更轻松地从 defend 中获得。
-
1.不要在 HTML 代码中混淆单引号和双引号(为了整洁); 2.不要使用已弃用的
mysql_*函数(改用MySQLi / PDO); 3. 注意 SQL 注入攻击。
标签: php mysql ajax database forms