安卓系统,MySQL:获取mysql_insert_id()并在Android Activity中检索它


Android & MySQL: Get mysql_insert_id() and retrieve it in Android Activity

嗨,我已经连接了一个MySQL服务器和使用JSON的Android应用程序。我有一个名为products的表,其中主键为,id为auto_increment。当我插入一个新产品,我想在我的android活动,但我不知道如何检索它在PHP也android Id。下面是一些代码:创建产品脚本

if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) {
    $name = $_POST['name'];
    $price = $_POST['price'];
    $description = $_POST['description'];
    // include db connect class
    require_once __DIR__ . '/db_connect.php';
    // connecting to db
    $db = new DB_CONNECT();
    // mysql inserting a new row
    $result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')");

我应该把mysql_insert_id()放在哪里?

最后,我如何在我的android活动中获得mysql_insert_id() ?

Thanks in advance

这很简单:

// mysql inserting a new row
$result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')");
$insertedId = mysql_insert_id();

你如何发送这个id到你的android应用程序?和你发送其他东西的方式一样:JSON。我不知道你通常发送什么到你的应用程序,但这可以像

一样简单
echo json_encode($insertedId);

通常的免责声明:不要再使用MYSQL扩展,它将在不久的将来从PHP中删除。使用Mysqli (i = improved)代替,或者PDO。

您的SQL查询容易受到SQL注入攻击!永远不要将未转义的数据直接放入SQL中,要么使用mysql_real_escape_string(),要么使用准备好的语句。