插入行如果不存在 mysql 和 POST
INSERT Row If Does Not Exist mysql with POST
我已经阅读了前面问题中的所有信息并且我已经阅读了,但遗憾的是我没有得到肯定的答复。
我想将从 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";
}
您可以做的一件事是确保您的 checkout_page table 中有一个主键或唯一键,而不是执行 if else,您可以执行 try/catch.您的代码将每次执行,但只会为每个代码插入一条记录(例如,假设代码是 PK)。
另一种方法是在插入之前 运行 查询以检查是否已插入此记录,并且仅在查询 returns 没有结果时才执行插入。
我只是添加 ON DUPLICATE KEY UPDATE 。
这是解决方案:
$strSQL = " INSERT INTO page (id , code , username ) VALUES('$id' , '$code' , '$username' ) ON DUPLICATE KEY UPDATE code='$code')";
tnx大家帮忙!
我已经阅读了前面问题中的所有信息并且我已经阅读了,但遗憾的是我没有得到肯定的答复。 我想将从 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";
}
您可以做的一件事是确保您的 checkout_page table 中有一个主键或唯一键,而不是执行 if else,您可以执行 try/catch.您的代码将每次执行,但只会为每个代码插入一条记录(例如,假设代码是 PK)。 另一种方法是在插入之前 运行 查询以检查是否已插入此记录,并且仅在查询 returns 没有结果时才执行插入。
我只是添加 ON DUPLICATE KEY UPDATE 。 这是解决方案:
$strSQL = " INSERT INTO page (id , code , username ) VALUES('$id' , '$code' , '$username' ) ON DUPLICATE KEY UPDATE code='$code')";
tnx大家帮忙!