Ga naar inhoud

[mysql] if empty wordt niet geevalueerd?


anoniem

Aanbevolen berichten

Kan iemand mij vertellen waarom deze if niet werkt?[code:1:dc92652725]$resultaat = mysql_query($sql) or die (mysql_error()); if (empty($resultaat)) { echo(" Geen extra informatie in de database. "); } else { $opm = mysql_fetch_row($resultaat); echo(" <table class=tabelopm> <tr> <td><p>".$opm[0]."</p> </td> </tr>"); }[/code:1:dc92652725] Veld in de tabel is text (null) bvd
Link naar reactie
[quote:ba335c77f5]mysql_query() returns a resource identifier or FALSE if the query was not executed correctly. For other type of SQL statements, mysql_query() returns TRUE on success and FALSE on error. A non-FALSE return value means that the query was legal and could be executed by the server. It does not indicate anything about the number of rows affected or returned. It is perfectly possible for a query to succeed but affect no rows or return no rows.[/quote:ba335c77f5]Jij test nu of de query goed is of niet, en niet het resultaat wat de query uiteindelijk oplevert zoals je zou willen.
Link naar reactie
Ok, bedankt. Maar zou dan dit niet moeten werken? (en dat doet het dus ook niet) [code:1:d773e97ad9]$resultaat = mysql_query($sql) or die (mysql_error()); $opm = mysql_fetch_row($resultaat); if (($opm[0])==null) /*of empty($opm[0])*/ { echo(" <p>Geen extra informatie in de database.</p> "); } else { echo(" <table class=tabelopm> <tr> <td><p>".$opm[0]."</p> </td> </tr>"); } }[/code:1:d773e97ad9]
Link naar reactie
Ik zal wel iets geks over het hoofd zien maar ook Annie's oplossing werkt niet. Voor alle duidelijkheid: dit heb ik geprobeerd:[code:1:0f16292cca]$sql = ("SELECT veldnaam FROM tabelnaam WHERE id =".$id.""); $resultaat = mysql_query($sql) or die (mysql_error()); if (mysql_num_rows($resultaat) == 0) { echo("<p>Geen extra informatie in de database.</p>"); } else { $opm = mysql_fetch_row($resultaat); echo(" <table class='tabelopm'> <tr> <td><p>".$opm[0]."</p> </td> </tr>"); } [/code:1:0f16292cca]
Link naar reactie
Eindelijk, na veel gepruts en eindeloos geprobeer snap ik wat er mis was. De variabele $opm[0] bestond uit de inhoud van een textarea. Blijkbaar wordt er dan meer meegestuurd dan de inhoud zelf, want als ik dit doe:[code:1:cfc2b32254]$opm=trim($opm[0]); if ($opm=="") etc,etc. [/code:1:cfc2b32254] (waarbij de witruimte voor en achter de string worden verwijderd) gaat het goed. Ik denk: ik meld het maar even.
Link naar reactie

Om een reactie te plaatsen, moet je eerst inloggen

Gast
Reageer op dit topic

×   Geplakt als verrijkte tekst.   Herstel opmaak

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

  • Populaire leden

    Er is nog niemand die deze week reputatie heeft ontvangen.

  • Leden

    Geen leden om te tonen

×
×
  • Nieuwe aanmaken...