[ djordjevic_i @ 04.10.2013. 14:21 ] @
pozdrav ljudi, imam sledeci problem. naime, neprekidno mi javlja gresku da ne mogu pozivati nedefinsianu metodu get_result(), a mysqlnd je aktiviran.


Code:

$connection= new mysqli(“localhost”, “user”, “pass”, “databse”);

$stat= $connection->prepare(‘SELECT * FROM products WHERE productID= ?’);
$stat->bind_param("s", $productid);

$stat->execute();

$result = $stat->get_result();
while ($row = $result->fetch_assoc()) {
    // bla bla
}



a ovako izgleda ispis na php info:

mysqlnd enabled
Version mysqlnd 5.0.10 - 20111026 - $Id: e707c415db32080b3752b232487a435ee0372157 $
Compression supported
SSL supported
Command buffer size 4096
Read buffer size 32768
Read timeout 31536000
Collecting statistics Yes
Collecting memory statistics No
Tracing n/a
Loaded plugins mysqlnd,example,debug_trace,auth_plugin_mysql_native_password,auth_plugin_mysql_clear_password
API Extensions pdo_mysql





[ deZio @ 04.10.2013. 15:32 ] @
Da li imaš PHP >= 5.3.0? Pošto je metoda get_result dostupna tek od te verzije PHP-a.
[ djordjevic_i @ 04.10.2013. 15:51 ] @
Da naravno, verzija 5.4.x
[ deZio @ 04.10.2013. 16:27 ] @
Čudno, pošto ti je mysqlnd omogućen..

A što ne bi koristio PDO?

Ovako nešto:
Code:

$pdo = new PDO( 'mysql:dbname=nazivbaze;host=localhost', 'username', 'password');

$pdostatement = $pdo->prepare('SELECT * FROM products WHERE productID = :productID');
$pdostatement -> bindParam(':productID', $productid, PDO::PARAM_INT);

if( $pdostatement->execute() ){ 
    foreach( $pdostatement->fetchAll(PDO::FETCH_ASSOC) as $row ) {
        // bla bla
    }
}

[ djordjevic_i @ 04.10.2013. 16:39 ] @
Hvala na odgovoru. No, ne mogu sada iz više razloga. Da li ima veze pošto je kao "API extensions" postavljen PDO?
[ deZio @ 04.10.2013. 18:42 ] @
Probaj ovaj kod:
Code:
if ( function_exists('mysqli_fetch_all') )
     die ('POSTOJI!');
else
     die( 'NE POSTOJI!' );


Ako ti prikazuje da ne postoji, onda nije pravilno podešen mysqlnd driver.

Možda ti ovo pomogne u tom slučaju:
http://www.php.net/manual/en/mysqlnd.install.php
http://stackoverflow.com/quest.../how-to-enable-mysqlnd-for-php
[ djordjevic_i @ 04.10.2013. 23:27 ] @
Defitnitivno driver nije dobro podesen, pokusacu ujutru pa se javljam.
[ djordjevic_i @ 05.10.2013. 08:44 ] @
problem je što na šerovanom hostingu nemam pristup konzoli, a pitanje je da li ce administratori i kada to odraditi.
[ djordjevic_i @ 05.10.2013. 13:49 ] @
Nisam pametan. Ovi kuliraju i kuliraće i dalje verovatno.
[ ivan.a @ 05.10.2013. 14:47 ] @
Ne verujem da ćeš ikada dobiti pristup konzoli na shared serveru. Ukloni sve barijere i koristi PDO.
[ djordjevic_i @ 06.10.2013. 09:13 ] @
Ok, precicu ja na PDO, nije problem, imam dokumentaciju, utrosicu jos neko vreme, ali takav nacin ne predstavlja resenje problema. Pojedine domace host provajdere treba zaobilaziti u širokom luku. Uzas. Hvala
[ djordjevic_i @ 09.10.2013. 09:58 ] @
Dobio sam odgovor od administratora platforme da moj zahtev iziskuje prekompajliranje php-a, sto ce izazvati probleme ostalim korisnicima. Nisam ni mislio da ce nesto uraditi.
[ deZio @ 09.10.2013. 11:37 ] @
Nije ispravno baš to što se ljutiš na hosting kompaniju. To je normalno što su te odbili. Na deljenom hostingu se ništa ne sme raditi tek tako, već se svaka izmena podešavanja mora dobro proučiti, tj. njene posledice po ostale korisnike. To nije samo tako kod nas, to je tako kod svake hosting kompanije koja je odgovorna. Eto znam da ni američki Hostgator na jednom nalogu kojem imam pristup ne podržava mysqlnd, a oni su jedan od najvećih hosting kompanija.

Npr. normalno bi bilo da hosting kompanije sada pređu sa PHP 5.2 na PHP 5.3 ili sa 5.3 na 5.4, ali bi to značilo da će određen broj sajtova prestati raditi zbog načina na koji su kodirani, tj. ne podržavaju novije verzije. Tako da se onda hosting kompanije snalaze da omoguće nove verzije, a opet da ne dovedu do prestanka rada aplikacija starih klijenata.