$check_select = mysqli_query( $conn,"SELECT * FROM `eenheden` WHERE TEXT_EENHEID_SHORT = '$TEXT_EENHEID_SHORT'");
$numrows=mysqli_num_rows($check_select);
$sql= "INSERT INTO `eenheden`(`EENHEID_SHORT`, `EENHEID_FULL`) VALUES ('".$TEXT_EENHEID_SHORT."', '".$TEXT_EENHEID_FULL."')";
if($numrows== 0){
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else{
echo "Error: " . $sql . "<br>" . $conn->error;
// Code to be executed if condition is false
}
}
$conn->close();
?>
Ik zou foutafhandeling toevoegen op je $check_select, om te kijken of deze gelukt is. Ergens mislukt deze query blijkbaar.
Verder zie ik dat er beveiliging tegen SQL-injection mist, dus jan en alleman kunnen nu je query manipuleren met kwade gevolgen van dien.
Tevens raad ik niet aan om procedureel MySQLi (mysqli_*****() ) en Object Georiënteerd (OO) MySQLi ($conn->.....) door elkaar te mengen, omdat er verwarring kan ontstaan door inconsistenties bij het aanroep van de functies c.q. objecten. Mijn voorkeur gaat uit naar volledig gebruik van MySQLi Object Georiënteerd. Hiermee kan je zelfs een globale foutafhandeling maken.
Ik zal vanavond de query nog eens onderzoeken, het is de bedoeling dat hij een waarde op het (mogelijke reeds) bestaan gaat nakijken in de database...
Je hebt gelijk over de veiligheid, het is echter voor intern gebruik ook al is dat niet echt een goed excuus :)
de onderste query ging ik later inderdaad ook nog om zetten, de bovenste was in de eerste versie ook anders maar werd omgezet omdat een bepaald deel hier deprecated was...
$check_select = mysqli_query( $conn,"SELECT * FROM `eenheden` WHERE '$TEXT_EENHEID_SHORT' = EENHEID_SHORT");
$numrows = mysqli_num_rows($check_select);
$sql= "INSERT INTO `eenheden`(`EENHEID_SHORT`, `EENHEID_FULL`) VALUES ('".$TEXT_EENHEID_SHORT."', '".$TEXT_EENHEID_FULL."')";
if($numrows== 0){
if ($conn->query($sql) === TRUE) {
echo "...New record created successfully";
} else{
echo "Error: " . $sql . "<br>" . $conn->error;
// Code to be executed if condition is false
}
}else{
echo "Deze record bestaat al!";
}
$conn->close();
?>