0

mobilemanagerというデータベースがあり、 cc_devicesという名前のテーブルが1つあり、wampサーバーでテストされています。配列をjsonオブジェクトに渡し、すべてのデータをそのjsonページに格納したいのですが、取得できる値は1つだけです。すべてが終わった後の私のデータベースのこのaaの写真

ここに画像の説明を入力してください

これは、配列を渡すためにチタンで使用しているコードです

//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

私が理解したように、PHPのパラメーターとしてjson文字列を受け取っていますが、POSTかGETかはわかりません。

テストを支援するために、最初にPHP環境にkrumoをインストールします。krumo($ _ POST)とkrumo($ _ GET)を使用して、正確に何を受け取っているかを確認します。結果を提供してください。

PHPは文字列を受信して​​いることを理解していると思いますが、その文字列を格納するためにどのキーが使用されているかわかりません。おそらく$ _POST[0]...それも確認する必要があります。

boruchが言ったように、変数にjson文字列を設定したら、それをjson_decode()する必要があります。これにより、配列が返されます。

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