[英]WordPress: Force Username to Name and Surname with existing database check
[英]Check for existing name in the database
這是我想添加操作時的代碼,但它不檢查數據庫中已有的現有操作,有什么辦法嗎? 下面的代碼:
<?php
include('db_conn.php');
$operationname = $_POST['operationname'];
$cost = $_POST['cost'];
$sql = "INSERT INTO operation(operationname,cost) VALUES('$operationname', '$cost')";
$query = mysqli_query($con, $sql);
if($query==true){
$data = array(
'status'=>'success',
);
echo json_encode($data);
} else {
$data = array(
'status'=>'failed',
);
echo json_encode($data);
}
?>
首先,正如@gertjanknappen 已經提到的:使operationname
在數據庫中唯一,它實際上看起來是作為表主鍵的一個很好的候選者。
這樣,數據庫將防止重復插入。 接下來你的實際目標是什么:只是防止重復輸入,或者在operationname
名稱行已經存在的情況下更新cost
?
在后一種情況下
$sql = "INSERT INTO operation(operationname,cost) VALUES('$operationname', '$cost') ON DUPLICATE KEY UPDATE cost='$cost'";
與operationmame
上的唯一鍵或主鍵約束相結合,應該可以為您提供所需的內容。
PS:從用戶輸入構造查詢字符串的方式肯定是 SQL 注入攻擊的秘訣,因此您可能還想閱讀准備好的語句參數綁定,或者至少了解如何正確驗證和轉義用戶輸入...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.