anoniem Geplaatst: 18 september 2003 Delen Geplaatst: 18 september 2003 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 Quote Link naar reactie
anoniem Geplaatst: 18 september 2003 Auteur Delen Geplaatst: 18 september 2003 [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. Quote Link naar reactie
anoniem Geplaatst: 18 september 2003 Auteur Delen Geplaatst: 18 september 2003 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] Quote Link naar reactie
anoniem Geplaatst: 18 september 2003 Auteur Delen Geplaatst: 18 september 2003 [code:1:8d1403ad87] $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:8d1403ad87] Quote Link naar reactie
anoniem Geplaatst: 18 september 2003 Auteur Delen Geplaatst: 18 september 2003 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] Quote Link naar reactie
anoniem Geplaatst: 19 september 2003 Auteur Delen Geplaatst: 19 september 2003 En wat werkt er dan niet? krijg je een error, warning of wat gebeurd er? Wat krijg je terug als je de query uitvoert via de mysql shell? Quote Link naar reactie
anoniem Geplaatst: 19 september 2003 Auteur Delen Geplaatst: 19 september 2003 Hij pakt alleen de else voorwaarde. Dus als er iets in het veld staat wordt dat keurig weergegeven. Als ik if $opm[1]==null doe krijg ik wel de goede mededeling ('geen extra informatie...'). Alleen in dat geval ook wanneer er wel iets in het veld staat (uiteraard, want $opm[1] bestaat niet. Quote Link naar reactie
anoniem Geplaatst: 21 september 2003 Auteur Delen Geplaatst: 21 september 2003 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. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen