
$sql="INSERT INTO users (username, psw) VALUES($_POST['username'],$_POST['psw'])";
当然会发生PHP的解析错误。
在php里,把$_POST['username']这种东西放进双引号字符串里,如"hi, $_POST['name']",无法被识别。常见的是"hi, $name",这样可以。
要想实现把$_POST数组中的值插入SQL语句有多种方法。
1PHP的字符串串接 *** 作符即“点”号(注意:sql中字符串要加引号)
$sql = "INSERT INTO users (username, psw) VALUES('"$_POST['username']"','"$_POST['psw']"')";2
$sql = "INSERT INTO users (username, psw) VALUES('{$_POST['username']}','{$_POST['psw']}')";3prepared statement。较复杂但是安全。
4字符串格式化函数sprintf
$sql = sprintf("INSERT INTO users (username, psw) VALUES('%s','%s')", $_POST['username'], $_POST['psw']);提醒:直接向sql语句中插入$_POST数组中的这些值而不经过转义会让网页存在极严重的SQL注入漏洞!解决方法:传统方法是用mysql_real_escape_string,现代方法是用prepared statement。
不懂请追问,。
补充,你的前端似乎还有问题。dataString 里直接插入ousername和opsw可能有问题。可能应该先经过url转义。我记得jquery的ajax可以直接post一个json字典,这样应该更好。
data就是要传递的值,例如:
{变量名1:值1,变量名2:值2}
或者传递一个对象或者数组:
function (data) {
var field = datafield; //获取提交的字段
$ajax({
url: 'postphp'
, type : 'POST'
, data: field
}
以上就是关于重点只有一个:php如何获取ajax函数传来的data值全部的内容,包括:重点只有一个:php如何获取ajax函数传来的data值、关于ajax data参数问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)