0

我有一个名为 mobilemanager 的数据库,其中有一个名为cc_devices的表,它已在我的 wamp 服务器中启动和测试,我想将一个数组传递给一个 json 对象并将所有数据存储在该 json 页面中,但我只得到一个值。一切都完成后,这是我的数据库的图片

在此处输入图像描述

这是我在钛中用来传递数组的代码

//insert into a databse
function submit_Device () {
    //var request = Ti.Network.createHTTPClient();
    var request = Ti.Network.createHTTPClient({
    onload: function(e){
         Ti.API.debug(this.responseXML);
        //alert('The connection was successful!');
    },
    onerror: function(e){
        Ti.API.debug(e.error);
        alert('There was an error during submission.');
    },
    timeout:5000,
    autoEncodeUrl:false,
    }); 
    request.open("POST","http://192.168.34.53/insertuser.php");
    var params = ({"id": "4", "user": "Tony Montana" , "device": "Galaxy s2" , "project": "ABA" , "date": "7/1/2013" , "hour": "4:14 pm" , "used": "True"});  
    request.send(params);
    alert('Device Summited');
    };  

这是PHP代码

<?php
$username="root";
$password="somepass";
$database="somedb";

mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$user = $_POST['user'];
$query="INSERT INTO somedb.cc_devices (user) VALUES ('" . $user . "')"; 
mysql_query($query);
mysql_close();
?>
4

2 回答 2

1

我想我明白了,一切都完成后,这是我的数据库

在此处输入图像描述

这是我在 Titanium 中对 .js 文件所做的更改

//insert into a databse
function submit_Device () {
    //var request = Ti.Network.createHTTPClient();
    var request = Ti.Network.createHTTPClient({
    onload: function(e){
         Ti.API.debug(this.responseXML);
        //alert('The connection was successful!');
    },
    onerror: function(e){
        Ti.API.debug(e.error);
        alert('There was an error during submission.');
    },
    timeout:5000,
    autoEncodeUrl:false,
    }); 
    request.open("POST","http://192.168.34.53/insertuser.php");
    var params = ({"id": "0" ,"user": "Tony Montana" , "device": "Galaxy s2" , "project": "ABA" , "date": getDate() , "hour": getTime() , "used": "true"});  
    //insert into mobilemanager.cc_devices values (0,"Mario Galván", "IPhone 3g", "ITexico", "2013-08-01", "3:52:52", "true")
    request.send(params);
    alert('Device Summited');
    };  

这就是我将所有参数传递给 .php 文件中的数据库的方式

<?php
$username="root";
$password="somepass";
$database="somedb";

mysql_connect('localhost',$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$user = $_POST['user'];
$device = $_POST['device'];
$project = $_POST['project'];
$date = $_POST['date'];
$hour = $_POST['hour'];
$used = $_POST['used'];
$query="INSERT INTO somedb.cc_devices (user,device,project,date,hour,used) VALUES ('$user', '$device', 
    '$project', '$date','$hour', '$used')"; 
mysql_query($query);
mysql_close();
?>
于 2013-01-08T20:56:34.047 回答
0

imm 据我了解,您在 PHP 中接收到一个 json 字符串作为参数,我不确定是 POST 还是 GET。

为了帮助测试它,首先在你的 PHP 环境中安装 krumo。使用 krumo($_POST) 和 krumo($_GET) 来查看您到底收到了什么。为我们提供结果。

我相信 PHP 理解它正在接收一个字符串,但我不知道用于存储该字符串的密钥是什么,也许是 $_POST[0] ...您还必须验证这一点。

一旦你在一个变量上有了 json 字符串,正如 boruch 所说,你必须 json_decode() 它,这将返回一个数组:

$newArray = json_decode($_POST[0]);
$user = $newArray['user'];
.
.
.
于 2013-01-07T23:57:44.860 回答