当前位置: 代码迷 >> PHP >> 使用Ajax请求的数据为何保存不到数据库中?后台用php写,各位大神支个招
  详细解决方案

使用Ajax请求的数据为何保存不到数据库中?后台用php写,各位大神支个招

热度:54   发布时间:2016-04-28 17:27:06.0
使用Ajax请求的数据为什么保存不到数据库中?后台用php写,各位大神支个招

<?php
if(isset($_GET['content'])){
//从请求URL地址中获取参数
$view_name=$_GET["name"];
$view_content=$_GET["content"];
$view_time=$_GET["time"];
$linkview=mysqli_connect("localhost", "root", "xxxxxxx", "wordstv") or die("数据库连接失败:".mysql_errno());
$queryview="insert into wordstv_user_view (user_name,user_content,time,) values ('".$view_name."','".$view_content."','".$view_time."')";
[email protected]_query($linkview, $queryview);
if($resultview){
echo $view_name."&&&".$view_content."&&&".$view_time;
}
mysqli_close($linkview);
}
?>

------解决思路----------------------
先确定ajax提交的数据是否正确获取。
在php 最前加
$data = $_REQUEST;
file_get_contents('test.log', json_encode($data), true);

看看能否获取到数据,如果可以,再在入库的语句中找问题。
否则在js ajax提交的语句中找问题。

[email protected]_query($linkview, $queryview) or die(mysql_error()); 这里也加上看看。
------解决思路----------------------
content 通常表示正文,一般比较大
如果整个传送的数据可能超过 get 方式的 2K 限制的话,应使用 post 方式
从减少信息泄露的角度上看,使用 POST 方式也是较为妥当的

你直接将传入的数据入库了,如果传入的数据中含有特殊字符,就将导致插入失败

你只在插入成功时输出了信息,却没在插入失败时做出响应
无论是操作成功与失败都应有信息返回,这样才方便判断问题的所在
------解决思路----------------------
引用:
Quote: 引用:

先确定ajax提交的数据是否正确获取。
在php 最前加
$data = $_REQUEST;
file_get_contents('test.log', json_encode($data), true);

看看能否获取到数据,如果可以,再在入库的语句中找问题。
否则在js ajax提交的语句中找问题。

[email protected]_query($linkview, $queryview) or die(mysql_error()); 这里也加上看看。

谢谢啊,已经解决了


如问题解决了请结贴。
  相关解决方案