2013-02-14 54 views
0

我很高兴来到这里与你的天才,这是我的第一个问题。显示插入到MySQL表中的新数据

我创建了一个web服务,用于将数据从android插入到我的PHP web服务器(本地服务器)上的MySQL表中。我做到了这一点,但我无法弄清楚如何显示刚刚插入的新数据(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(); 
?> 

而这正是我想弄清楚我刚调到变量的第二页:

<?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(客户端)===> web服务器number 1 =====> web server number 2

再次感谢,我很抱歉我的英语。

+0

忘记使用此代码,直到您阅读并理解如何避免[SQL注入攻击](http://bobby-tables.com)。另外,你的PHP已经完全破解了。这个“表演”业务是什么? – 2013-02-14 15:58:50

+0

与Android编程无关。你不应该用Android标签来标记这个问题。 – thelawnmowerman 2013-02-14 16:01:51

回答

0

好吧,抛开事实,使用PHP/MySQL的这种方式既令人难以接受和非常不安全的,你可以使用:

$newRecordId = mysql_insert_id(); 

获得最后插入记录的ID IF表有一个AUTO_INCREMENT主键列。
否则,你是时间戳和检索最新的记录如果没有其他插入可以通过其他请求发生,这是非常hacky和凌乱。

另外@thelawnmowerman是正确的,Android和Web服务标签是错误的 - 只需使用PHP和MySQL。

*编辑*

在我看来,这里的目的是收集通过POST发送了一些数据/ GET,将其插入到数据库表中,然后显示它。这可以在不使用会话变量或需要获取最新记录的情况下实现,全部在一个页面中完成。

注意 - 我还没有彻底清理做到这一点的方式 - 我已删除无效的“秀”的语句,占该部分请求数据并在插入不使用的事实,但随后显示。
如果这不是它需要的工作方式,则需要相应地进行调整,并请记住没有任何数据的清洁,清洁或验证。

<?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(); 
?> 
+0

好吧对不起,我在这里新 我现在删除android ans web服务标签 但我要做什么请让我的代码更好 – menzous 2013-02-14 16:13:13

+0

好吧,别担心 - 它已经为你完成=) – Raad 2013-02-14 16:14:01

+0

谢谢你这么多@Raad – menzous 2013-02-14 16:19:08