0

私はあなたの天才とここにいることがとてもうれしいです、そしてこれはここでの私の最初の質問です。

androidからPHPWebサーバー(ローカルサーバー)のMySQLテーブルにデータを挿入するためのWebサービスを作成します。これは達成できましたが、挿入したばかりの新しいデータ(MySQLテーブルの新しい行)を表示する方法がわかりません。

セッションごとに別のPHPページに転送するには、そのテーブルの新しい行が必要です。 私はあなたに私のコードを提示し、私の英語を許してください:

<?php
    session_start();
?>
<?php
    $b1= $_REQUEST['name_mobinaute'];
    $b2= $_REQUEST['cin_mobinaute'];
    $b3= $_REQUEST['email_mobinaute'];
    $b4= $_REQUEST['code_bancaire_mobinaute'];
    $b5= $_REQUEST['date_transaction_mobinaute'];

    $_SESSION['name_mobinaute'] = $b1; 
    $_SESSION['cin_mobinaute'] = $b2; 
    $_SESSION['email_mobinaute'] = $b3; 
    $_SESSION['code_bancaire_mobinaute'] = $b4; 
    $_SESSION['date_transaction_mobinaute'] = $b5;

    show  $_REQUEST['name_mobinaute'];
    show  $_REQUEST['cin_mobinaute'];
    show $_REQUEST['email_mobinaute'];
    show $_REQUEST['code_bancaire_mobinaute'];
    show $_REQUEST['date_transaction_mobinaute'];

    // Connexion au serveur de base de données
    $connect_result = mysql_connect("localhost", "root", "azertga");

    if (!$connect_result) {
        echo("Impossible de se connecter au serveur de bases de données.<br>\n");
    } else {
        echo("Connecté au serveur de bases de données!<br>\n");
        // Selection de la base de données
        $select_result = mysql_select_db("mediashore");
    }

    if (!$select_result) {
        echo("Impossible de se connecter à la base de données.<br>\n");
    } else {
        echo("Connecté à la base de données!<br>\n");
    }

    $sql=mysql_query("INSERT INTO clients_megamadou (C_nom, C_email, c_adresse, c_ncin) VALUES ('".$_REQUEST['name_mobinaute']."', '".$_REQUEST['email_mobinaute']."', '".$_REQUEST['adress_mobinaute']."', '".$_REQUEST['cin_mobinaute']."')");

    mysql_close();
?>

そして、これは私が転送したばかりの変数を理解したい2番目のページです:

<?php
    session_start();
?>
<?php
    echo '<br />';
    echo 'Votre data1 est'.$_SESSION['name_mobinaute'];
    echo '<br />';

    echo '<br />';
    echo 'Votre data2 est'.$_SESSION['cin_mobinaute'];
    echo '<br />';

    echo '<br />';
    echo 'Votre data3 est'.$_SESSION['email_mobinaute'];
    echo '<br />';

    echo '<br />';
    echo 'Votre data4 est'.$_SESSION['code_bancaire_mobinaute'];
    echo '<br />';

    echo '<br />';
    echo 'Votre data5 est'.$_SESSION['date_transaction_mobinaute'];
    echo '<br />';
?>

Androidアプリケーションから受信したデータを別のWebサーバーに転送したいので、これらすべてを実行しました。

android(client)===>Webサーバー番号1 =====>Webサーバー番号2

何度もありがとう。英語でごめんなさい。

4

1 に答える 1

0

わかりました。PHP/MySQLをこのように使用することは眉をひそめ、ひどく安全ではないという事実は別として、次を使用できます。

$newRecordId = mysql_insert_id();

テーブルにAUTO_INCREMENT主キー列がある場合、最後に挿入されたレコードのIDを取得します。それ以外の場合は、他のリクエストを介して他の挿入が発生しない
場合は、タイムスタンプを付けて最新のレコードを取得することになります。これは非常にハッキーで面倒です。

また、@ thelawnmowermanは正しいですが、androidタグとweb-servicesタグは間違っています。phpとmysqlを使用してください。

*編集*

ここでの目的は、POST / GETを介して送信されたデータを収集し、それをデータベーステーブルに挿入して、表示することであるように思われます。これは、セッション変数を使用したり、最新のレコードを取得したりすることなく、すべて1つのページで実現できます。

-これを行う方法を完全にクリーンアップしていません-無効な「show」ステートメントを削除し、一部のリクエストデータが挿入で使用されていないが、その後表示されるという事実を説明しました。
これが機能する必要がある方法でない場合は、それに応じてこれを調整する必要があります。データのサニタイズ、クリーニング、または検証は行われないことに注意してください。

<?php
    // save request values to variables
    $name_mobinaute = $_REQUEST['name_mobinaute'];
    $email_mobinaute = $_REQUEST['email_mobinaute'];
    $adress_mobinaute = $_REQUEST['adress_mobinaute'];
    $cin_mobinaute = $_REQUEST['cin_mobinaute'];
    $code_bancaire_mobinaute = $_REQUEST['code_bancaire_mobinaute'];
    $date_transaction_mobinaute = $_REQUEST['date_transaction_mobinaute'];

    // Connexion au serveur de base de données
    $connect_result = mysql_connect("localhost", "root", "azertga");

    if (!$connect_result) {
        echo("Impossible de se connecter au serveur de bases de données.<br>\n");
    } else {
        echo("Connecté au serveur de bases de données!<br>\n");
        // Selection de la base de données
        $select_result = mysql_select_db("mediashore");
    }

    if (!$select_result) {
        echo("Impossible de se connecter à la base de données.<br>\n");
    } else {
        echo("Connecté à la base de données!<br>\n");
    }

    // create sql statement for insert using variables set from request values
    $sql = "INSERT INTO clients_megamadou (C_nom, C_email, c_adresse, c_ncin) VALUES ('".$name_mobinaute."', '".$email_mobinaute."', '".$adress_mobinaute."', '".$cin_mobinaute."')";
    // execute insert and get result (will be true/false depending on success)
    $result=mysql_query($sql);

    if (!$result) {
        echo("Data failed to insert!<br>\n");
    } else {
        echo("Data inserted successfully:<br>\n");
        echo("- name_mobinaute: ".$name_mobinaute."<br/>\n");
        echo("- email_mobinaute: ".$email_mobinaute."<br/>\n");
        echo("- adress_mobinaute: ".$adress_mobinaute."<br/>\n");
        echo("- cin_mobinaute: ".$cin_mobinaute."<br/>\n");
        // these values were passed in via request, but were not inserted 
        echo("<br/>Other data:<br/>\n");
        echo("- code_bancaire_mobinaute: ".$code_bancaire_mobinaute."<br/>\n");
        echo("- date_transaction_mobinaute: ".$date_transaction_mobinaute."<br/>\n");
    }

    mysql_close();
?>
于 2013-02-14T16:07:52.697 に答える