正在試圖刪除重複的條目在數據庫中似乎不正確的部分。所以我想我會問在這個例子中,做什麼是正確的方法。我對PHP並不完全陌生,但這超出了我的想象。如果你能告訴我什麼是錯的,以及如何解決這將不勝感激。條件PDO Delete語句可能無法正常工作
現在到什麼,我試圖完成。我有一個多維數組填充由函數生成的值。我想要做的是,如果在數據庫中已經存在的數組中有一個值將其刪除。代碼: 輸入代碼在這裏
if(is_array($items)){
$values = array();
foreach($items as $row => $value){
$rsn = mysqli_real_escape_string($connect, $value[0]);
$rank = mysqli_real_escape_string($connect, $value[1]);
$values[] = "('', '$rsn', '$rank', '')";
$sql = "SELECT id FROM users WHERE rsn = :rsn";
$query = $conn->prepare($sql);
$query->execute(array(":rsn" => $value[0]));
$results = $query->rowCount();
while($deleted = $query->fetch(PDO::FETCH_ASSOC)){
$sql = "DELETE FROM users WHERE id = :id";
$query = $conn->prepare($sql);
foreach($deleted as $delete){
$query->execute(array(':id' => $delete));
}
}
}
//user_exists_delete($conn, $rsn);
$sql = "INSERT INTO users(id, rsn, rank, points) VALUES ";
$sql .= implode(', ', $values);
if(!empty($rank)&& !empty($rsn)){
if(mysqli_query($connect, $sql)){
echo "success";
}else{
die(mysqli_error($connect));
}
}
}
編輯:我已完成了部分工作現在,只需要它刪除,而不是隻有一個所有受騙者。我編輯了代碼以反映更改。
請勿混用'mysqli_'和'PDO',只需用'PDO'。如果你綁定你不必逃跑。 – Rasclatt
哦,我忘了提到我使用兩種不同擴展的原因是因爲我不知道如何執行pdo中的mysqli部分。我做過這樣的嘗試,並沒有執行 –
'PDO'自動淨化輸入,防止SQLI,你並不需要使用'mysqli_real_escape_string()'或類似的東西,在執行'()'和'bindParam()'方法爲你做那個。 –