qq_42635799
2018-07-19 02:33
采纳率: 50%
浏览 1.9k
已采纳

为什么通过POST得到的数据无法存入数据库

$.ajax({
type: "post",
url: 'http://127.*.*.*/test.php',
data: 'name=john',
dataType: "json",
})

$a=$_POST[name];
$con=mysqli_connect('localhost', 'root', '******');
mysqli_select_db($con,'test);
$sql="INSERT INTO testsjb (name) values ($a)";
mysqli_query($con,$sql);
$uid=mysqli_insert_id($con);
echo $uid;

经测试$a如果是普通字符串就可以插入成功,一旦换成POST就不行了~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

13条回答 默认 最新

  • blownewbee 2018-07-19 02:46
    已采纳
     data: 'name=john'
    这个不是json
    应该是 name:'john'
    
    点赞 打赏 评论
  • blownewbee 2018-07-19 02:36

    看下$_POST[name];里面是什么,是否有特殊字符,

    $sql="INSERT INTO testsjb (name) values ('" + $a +"')";
    这样看看

    点赞 打赏 评论
  • xcgh 2018-07-19 02:45

    dataType限制为json了,所以造成

     $_POST[name];
    

    为空了

    点赞 打赏 评论
  • ayuan_23 2018-07-19 02:46

    你试试json字符串格式对不,按道理说,json不应该是下面这样的么?
    data: { 'name':'john'},

    不行的话,试试
    data: '{ 'name':'john'}',

    注意别使用中文的单引号和逗号,冒号

    点赞 打赏 评论
  • 咔哇雨 2018-07-19 02:56

    print_r($_POST) 先打印所有post 看看

    点赞 打赏 评论
  • ayuan_23 2018-07-19 03:02

    你试试
    data: { 'name':'john'},
    不行的话,试试
    data: '{ 'name':'john'}',
    注意别使用中文的单引号和逗号,冒号
    然后下面这样,
    $a = $_POST['name'];

    点赞 打赏 评论
  • ly609937597 2018-07-19 03:03

    大兄弟:
    $a=$_POST[name];
    改为
    $a=$_POST["name"];

    点赞 打赏 评论
  • scjzhong 2018-07-19 04:17

    dataType的原因

    点赞 打赏 评论
  • weixin_38825140 2018-07-19 04:57

    符号,格式有问题,还有中文支持

    点赞 打赏 评论
  • xcgh 2018-07-19 05:59
     $.ajax({
          cache:false,
          type:"post",
          url:"test.php",
          datatype:'json',
          data:'name=john',
          success:function(data) {
            alert(data);
          }
        });
    

    php里面使用

     print_r($_POST);
    
    点赞 打赏 评论
  • fuweihua123 2018-07-19 06:04

    确保$_POST[name]这个有值,可能是没有取到值;
    data换成这个
    data: { 'name':'john'}

    点赞 打赏 评论
  • HGLCHY 2018-07-19 07:08

    data: 'name=john' 这是字符串啊,哪里是json格式

    点赞 打赏 评论
  • 编程一对一服务 2018-07-19 07:13

    data: 'name=john' 你编写有误,经过调试后,在试下,哪有直接入库的。都是经过处理后,才会入库的。

    点赞 打赏 评论

相关推荐 更多相似问题