Archief - controle mysqli_query

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

MiniJeffrey

Legacy Member
Hi

Ik zit met een lastig probleem, ofwel zie ik het totaal over het hoofd ofwel werkt het gewoon niet...

Ik wil controleren of een query goed uitgevoerd is en aan de hand daarvan een bepaalde string tonen.

Code:
$dbc = mysqli_connect(....) //Deze werkt zeker, getest
$query = "DELETE FROM nieuwsgroep WHERE nid = 22"; //GELDIGE QUERY
$result = mysqli_query($dbc, $query); //QUERY WORDT GOED UITGEVOERD

Tot zover, maar nu wil ik dus een controle:

ALS de query geslaags is dan toon ik echo 'U bent succesvol uitgeschreven';
ANDERS toon ik echo 'Er is een probleem opgetreden bij het uitschrijven';

Ik heb al vanalles geprobeerd om dit werkend te krijgen, zonder licht in de tunnel. Volgens php.net geeft mysqli_query bij een delete/update/insert TRUE of FALSE terug.

Code:
$dbc = mysqli_connect(....) //Deze werkt zeker, getest
$query = "DELETE FROM nieuwsgroep WHERE nid = 22"; //GELDIGE QUERY
if(mysqli_query($dbc, $query))
{
 echo 'U bent succesvol uitgeschreven';
}
else
{
 echo 'Er is een probleem opgetreden'; //KOMT ELKE KEER HIER TERECHT, ZOWEL BIJ GELDIGE ALS BIJ FOUTIEVE NID
}

// WERKT NIET!

Iemand een idee? Ik heb ook al via $result gechecked op true/false en 0/1 en ook dat werkte niet =(
als ik $result print krijg ik altijd 1, of de query nie geldig was of niet...

MiniJeffrey

Legacy Member
Ik heb een manier gevonden (denk ik), hopelijk is ze koosjer genoeg...
Ik doe nu een controle via mysqli_affected_rows($dbc)

Code:
if(mysqli_affected_rows($dbc) == 1)
{
 echo 'SUCCES';
}
else
{
 echo 'Er is een fout opgetreden';
}

Dit werkt.

Curahee Q

Legacy Member
Sinds wanneer wordt een row gedeleted met REMOVE en niet met DELETE? Met affected_rows() zit je wel goed normaal.

wonko

Legacy Member
Een delete-query die niets verwijderd is een query die succesvol uitgevoerd wordt. Mysqli_query() gaat maar false geven als er problemen zijn met de query, of op database-niveau.

mysql_affected_rows() werd precies waarvoor je het gebruikt ingevoerd, dus dat is een prima oplossing...
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan