PHP kézikönyv
Előző
Következő
Az sql_statement sikeres végrehajtásakor 1 -gyel vagy egy objektummal tér vissza, ez utóbbival csak olyan esetben, ha SQL utasításnak van végeredménye.
Hiba esetén 0 -t ad vissza.
Példa 1.
A visszatérési érték lekezelésére
?php $link = dbx_connect( DBX_ODBC, "", "db", "username", "password") or die("Could not connect"); $result = dbx_query($link, 'SELECT id, szulo_id, leiras FROM tabla'); if (is_object($result)) {/ /... néhány további művelet, lásd még a lenti példákat... / / először, a mezőnevek és típusaik kiírása / / azután, egy táblába kiírni a kapott végeredményt} else if ($result == 1) {echo("A lekérdezést sikeresen végrehajtva, nincs visszaadott eredményhalmaz");} else {exit("Sikertelen lekérdezés");} dbx_close($link);?
A flags paraméteren keresztül szabályozható a visszaadandó információ mennyisége.
Ez a következő állandók logikai vagy kapcsolata lehet:
Ez mindig felhasználásra kerül, és hatására a visszatérési érték része lesz egy két dimenziós tömb, amelynek az első indexe a sorindex, a második az oszlopindex, azaz például a data[ 2][3] -ban a 2 jelöli a sort, a 3 az oszlopot.
Az indexelés 0-tól kezdődik.
Ha a DBX_RESULT_ASSOC is meg van adva, akkor a minden esetben a DBX_RESULT_INFO -nak megfelelő értékeket is szolgáltatja a függvény.
Az oszlopokról ad információt: a mezők számáról, neveikről és típusaikról.
Ennek hatására az oszlopértékeket az oszlopnevekkel is lehet indexelni, azaz a visszaadott eredményhalmaz asszociatív tömbként is használható.
Ezek az asszociatív indexek valójában referenciák a numerikus indexelésű értékekre, így a data[ 0][0] -t módosítva a data[0]['az_első_oszlop_mező_neve'] is megváltozik.
DBX_RESULT_INDEX | DBX_RESULT_INFO | DBX_RESULT_ASSOC - alapértelmezés, ha nincs megadva a flags.
A visszaadott objektumnak négy vagy öt tagváltozója van a flags -től függően:
Érvényes kapcsolatazonosító az adatbázishoz, és így szükség esetén az adott modulra jellemző függvények hívásához használható:
$result = dbx_query ($link, "SELECT id FROM tabla"); $length = mysql_field_len($result - handle, 0);
A cols és rows tagváltozók tárolják az eredményhalmaz méreteit: az oszlopok / mezők és a sorok / rekordok számát.
$result = dbx_query ($link, "SELECT id FROM tabla"); echo "Az eredmény mérete: ". $result - rows." x ". $result - cols." br / \n";
Az info tagváltozó csak akkor érhető el, ha a DBX_RESULT_INFO és / vagy DBX_RESULT_ASSOC szerepel a flags paraméterben.
Ez olyan kétdimenzós tömb, amelynek két nevesített sora van (name és type) a mezőinformációk eléréséhez.
Példa 2. minden mező nevének és típusának kilistázása
$result = dbx_query ($link, 'SELECT id FROM tabla', DBX_RESULT_INDEX | DBX_RESULT_INFO); for ($i = 0; $i $result - cols; $i+ +) {echo $result - info['name'][$i]. "\n"; echo $result - info['type'][$i]. "\n";}
A data tagváltozó tartalmazza a tényleges végeredményt, az eredményhalmazt, ha van ilyen.
Ha a DBX_RESULT_ASSOC is része a flags -nek, akkor az adatok $result - data[ 2]["mező_neve"] alakban is elérhetők lesznek, asszociatív tömbként kezelve a data -t.
Példa 3. a data tagváltozó kiíratása HTML táblaként
$result = dbx_query ($link, 'SELECT id, szulo_id, leiras FROM tabla'); echo "table \n"; foreach ($result - data as $sor) {echo" tr \n"; foreach ($sor as $oszlop) {echo "td $oszlop / td";} echo "/ tr \n";} echo" / table \n";
Megjegyzés:
Használd mindig az adatbázis specifikus dokumentációt is!
Lásd még: dbx_connect()!
Előző
Tartalom
Következő
Fel