2013-09-21 24 views
-1

这是我的php页面。我正在向$ _post [“name”],$ _ post [“myHttpData”],$ _ post [“address “]通过一个android应用程序。我已经尝试在文本文件中写入这些值来检查数据的成功接收。当我发送数据时正在接收数据,但正在插入空白行(所有字段为空)。尝试从PHP变量插入到MY SQL服务器时插入空白数据

<?php 

     $con=mysqli_connect("fdb2.biz.nf","1463950_rtr","tcp123","1463950_rtr"); 
    // Check connection 
    if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 
    $data=$_post["myHttpData"]; 

    $data1=$_post["name"]; 
    $data2=$_post["address"]; 
    $sql="INSERT INTO SMS (sender,body,time) 
    VALUES 
    ('$data','$data1','$data2')"; 
     if (!mysqli_query($con,$sql)) 
     { 
     die('Error: ' . mysqli_error($con)); 
     } 
    echo "1 record added"; 

    mysqli_close($con); 
?> 

我也使用

$sql="INSERT INTO SMS (`sender`,`body`,`time`) 
    VALUES 
    ('$data','$data1','$data2')"; 

尝试,但它也产生同样的结果。

+0

您是否尝试过使用$ _POST全部大写而不是$ _post。另外,一个附注 - 您应该使用预准备语句来防止SQL注入。 – Boundless

+0

您确定要将数据分配给字段:myHttpData-> sender,name-> body,address-> time? – dar7yl

回答

-1

Ph变量区分大小写。您需要指定$_POST,而不是$_post。 由于$_post[...]中没有任何内容,因此$data字段会使用空字符串。

+0

正在将数据接收到变量中,我可以使用代码<?php $ data = $ _ POST [“myHttpData”]; $ DATA1 = $ _ POST [ “名称”]; $ DATA2 = $ _ POST [ “地址”]; file_put_contents( 'myTextFile.txt',$数据); file_put_contents( 'test1.txt的',$数据1); file_put_contents( '的test2.txt',$数据2); ?> –

+0

先生downvoter,解释。 –

-1

我的猜测是你用单引号而不是双引号。在php中,单引号字符串按“原样”处理,而双引号字符串将查找变量并对其进行评估。见this answer

看看,如果这个工程:

$sql="INSERT INTO SMS (sender,body,time) 
VALUES 
('".$data."','".$data1."','".$data2."')"; 

编辑:哎呀我看你用双引号。

尝试

echo $sql; 

看看你查询你所期望的。

+0

等待nvm你用双引号,我在想什么 –

+0

我也试过,但它仍然不起作用。我得到了同样的结果。 –