[php] odbc_result_all: veranderen 'no rows found' message

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Is het mogelijk om met ODBC_result_all een andere melding dan 'no rows found' te geven als een query geen result teruggeeft ?

De code waarin ik dit wil verwerken:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
if ($submit) 
{
    $conn = odbc_connect("koppeling", "test", "test") or die("...");
    $Query = "Selectstatement";
    $rs = odbc_exec($conn, $Query);
    $test = odbc_result_all($rs, "BORDER=1");
    
        if ($test=="")
    {
        echo "Werknemer niet gevonden.";
        echo "<a href=test.php>Probeer nog eens</a>";
    }
    else
    {
        $Query2 = "SELECT * FROM werknemer WHERE     
                (werknemer='$username')";
        $rs=odbc_exec($conn,$Query2);
        $image = odbc_fetch_array($rs,ODBC_ASSOC);
        $image2 = $image["image_veld"];
        $link = 'http://....';
        $show_image = substr_replace($image2, $link, 0, 58);
        echo "[img]\"$show_image\"[/img]";
    }
    odbc_close($conn);
}

?>

Dit bestand wordt aangeroepen om de gegevens van een werknemer uit de personeelsdb op het scherm te toveren als de naam van de werknemer wordt ingevoerd. Ook wordt er een foto getoond.

Als de selectquery leeg is, wil ik graag dat odbc_result_all($rs, "BORDER=1"); niet de standaard melding geeft, maar dat ik hem zelf kan opgeven. (or die("") heeft geen zin, aangezien de functie altijd 'false' retourneerd bij een lege query)


Op google kon ik echter niks vinden en ook de search levert niet echt wat op..
Hier staat (bijvoorbeeld) de omschrijving van de functie: http://nl.php.net/manual/en/function.odbc-result-all.php

Acties:
  • 0 Henk 'm!

  • Skaah
  • Registratie: Juni 2001
  • Laatst online: 16-09 18:38
Bypass de errorhandler...
Of zet errorreporting uit en check op een andere manier of de resultset leeg is.

[ Voor 63% gewijzigd door Skaah op 24-06-2004 14:50 ]


Acties:
  • 0 Henk 'm!

  • OkkE
  • Registratie: Oktober 2000
  • Laatst online: 04-09 08:16

OkkE

CSS influencer :+

Je kunt dacht ik door een @ er voor te zetten zorgen dat php de error 'inslikt', waarna je zelf een test kunt doen hoeveel records er zijn. En als dit er 0 zijn een eigen error geven..

“The best way to get the right answer on the Internet is not to ask a question, it's to post the wrong answer.”
QA Engineer walks into a bar. Orders a beer. Orders 0 beers. Orders 999999999 beers. Orders a lizard. Orders -1 beers.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt

Maar is er niet een andere manier om te checken of een query leeg is voordat deze op het scherm komt bij odbc? Dat zou namelijk een simpele if lus mogelijk maken.

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

If-lussen bestaan niet, en hoe wou je het resultaat van een query checken voordat je 'm door de ODBC-drivers hebt gepompt? :?

Professionele website nodig?


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt allemaal

Ik heb het al 'dirty' opgelost door in plaats van ODBC_result_all gewoon ODBC_result te gebruiken en 3x de resultset te openen (1x voor het testen van de invoer, 1x voor het tonen van de gegevens en 1x voor het tonen van de foto)
Met ODBC_fetch_row wordt dan 3x een resultset doorzocht en kan een if-statement (zo goed?) worden gebruikt.
Pagina: 1