Drukowana wersja tematu

Kliknij tu, aby zobaczyć temat w orginalnym formacie

Forum PHP.pl _ Skrypty obsługi baz danych _ ADOdb i id w zapytaniach mysql

Napisany przez: Bora 15.07.2004, 09:33:43

Nie wiem do końca czy to dobra kategoria.
Mój problem polega na tym że korzystająć z ADOdb zawsze opuszcza mi pole id.

  1. <?php
  2.  
  3. $sql = &#092;"SELECT m.id, g.group, m.name FROM \".TABLE_PREFIX.\"users m, \".TABLE_PREFIX.\"group g WHERE m.mgroup = g.group_id LIMIT 0, 5\";
  4. $members = $this -> _db -> GetAssoc($sql); 
  5.  
  6. ?>

W nie ADOdb zwraca wszystkie 3 pola id, group i name natomiast ADOdb tylko group i name.
Czy jest to może związane z jakimś zabezpieczeniem w ADOdb?
W manualu nic nie znalazłem podobnie na forum

XP , Apache 2 , php 5.0.0RC3, Adodb V4.22

Napisany przez: seaquest 27.07.2004, 09:12:39

w ADoDB (z tego co wiem) nie ma metody GetAssoc zapytania sql wykonuje sie za pomoca Execute...

Napisany przez: Bora 13.08.2004, 01:03:06

http://phplens.com/adodb/reference.functions.getassoc.html
z Execute dzieje sie to samo

http://forum.php.pl/index.php?showtopic=18025&hl=getassoc#

Napisany przez: DeyV 13.08.2004, 08:39:48

1. jest pytanie getAssoc . Zwraca ono tablicę o postaci

  1. <?php
  2. $array[ $id ] = http://www.php.net/array( pozostałe pola );
  3. ?>


2. aby pobrać dane normlanie, należy skorzystać z $db->getAll( $pyt );

Napisany przez: itsme 13.08.2004, 15:46:15

zas w przypadku LIMIT 0,1 dajemy getOne

Napisany przez: bigZbig 24.08.2004, 10:06:40

Jeśli zalezy Ci na niezależności od zastosowanej BD, to używając w zapytaniu polecenia LIMIT warto abyś rozważył funkcję SelectLimit(). Co prawda nie zwraca ona wyniku w postaci tablicy, ale łatwo to osiągnąć.

Kod
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
$result = $db->SelectLimit("SELECT * FROM $table[CODE]",$nrows=2,$offset=1);
if ($result === false) die("failed");
$a=0;
while (!$result->EOF) {
           $Aresult[$a] = $result->fields;
    $result->MoveNext();
    $a++;
}
print '<pre>';
print_r($Aresult);
print '</pre>';


Podany kod zwróci wynik
Kod
Array
(
    [0] => Array
        (
            [id_code] => 2
            [code] => 754ma2wida
        )

    [1] => Array
        (
            [id_code] => 3
            [code] => 4rum2rka
        )

)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)