如果POST不存在INSERT行

时间:2018-09-27 22:37:29

标签: php android exists

我已经阅读了之前问题中的所有信息,并且确实阅读了,但是不幸的是我没有得到肯定的回答。 我想将从Android发布的信息存储到数据库中 如果此信息尚不可用 这是我的php代码,从Android发送信息不是问题:

<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
    define('DB_USERNAME', '***');
    define('DB_PASSWORD', '***');
    define('DB_HOST', 'localhost');
    define('DB_NAME', '***');

    $conn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
    $username = $_POST['username'];
    $photo = $_POST['photo'];
    $code = $_POST['code'];

    $strSQL = " INSERT INTO checkout_page (code , username ,photo , isactive) VALUES('$code' , '$username' , '$photo' , 'TRUE')";

    if(mysqli_query($conn,$strSQL)){
        echo "insert";
    }

    mysqli_close($conn);
}else{
    echo "problem";
}

2 个答案:

答案 0 :(得分:1)

我只需添加 ON DUPLICATE KEY UPDATE 。 这是解决方案:

$strSQL = " INSERT INTO page (id , code , username ) VALUES('$id' , '$code' , '$username' ) ON DUPLICATE KEY UPDATE code='$code')";

向所有人寻求帮助!

答案 1 :(得分:0)

您可以做的一件事是确保您在checkout_page表中具有主键或唯一键,而不是进行if / if替代,而是尝试/捕获。您的代码将每次执行,但仅会为每个代码插入一条记录(例如,代码为PK)。 这样做的另一种方法是在插入之前运行查询,以检查是否已插入此记录,并且仅在查询未返回任何结果时才执行插入。