我已经阅读了之前问题中的所有信息,并且确实阅读了,但是不幸的是我没有得到肯定的回答。 我想将从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";
}
答案 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)。 这样做的另一种方法是在插入之前运行查询,以检查是否已插入此记录,并且仅在查询未返回任何结果时才执行插入。