Hallo,

Ik wil graag records verwijderen die een bepaalde waarde bevatten (ip nummer). Het werkt wel met dit script maar het vraagt volgens mij veel van de server want ik zie het CPU gebruik oplopen tot 100%. Doe ik iets fout?

<?php
$ips = $_POST['ips'];
$ipa= "ex_" . str_replace(".","",$ips);


$result = mysqli_query($dbCon,"SELECT
*
FROM
test");

while($row = mysqli_fetch_array($result)){
$ouderecords="DELETE FROM test WHERE ip='$ipa'";
if (!mysqli_query($dbCon,$ouderecords)) {
die('Error: ' . mysqli_error($dbCon));
mysqli_close($dbCon);
}
}


?>
Als je weet dat je één IP-adres wilt wissen, waarom selecteer je ze dan allemaal?
Hoe moet ik het dan doen?
Je updatequery hoort niet in die while thuis. Mysql zoekt voor jou de juiste records op aan de hand van "WHERE ip='$ipa'"

<?php
$ips = $_POST['ips'];
$ipa= "ex_" . str_replace(".","",$ips);

$ouderecords="DELETE FROM test WHERE ip='$ipa'";

if (!mysqli_query($dbCon,$ouderecords))
{
die('Error: ' . mysqli_error($dbCon));
mysqli_close($dbCon);
}
?>

[size=xsmall]Toevoeging op 16/11/2015 19:52:26:[/size]

Wat denk je trouwens zal die mysqli_close() ooit nog uitgevoerd worden na die die() ?
Script is lek => sql-injection.

Reageren