Autor Zpráva
Dostak
Profil *
dostal jsem tuto chybu:


Fatal error: Call to a member function bindParam() on a non-object in /var/www/xxx/example.php on line 14

pri tomto kodu:


$db=new PDO('mysql:host=localhost;dbname=priklad','uzivatel','heslo');
$dotaz=$db->prepare('INSERT INTO prilad.example as u SET u.hodinky="nove",u.klest=":klest";');
$dotaz->bindParam(':klest',sha1('priklad'),PDO::PARAM_STR);
$dotaz->execute();
echo 'oukej';


ale pritom toto jako priklad napriklad mi fungovalo:

$dotaz=new PDO('mysql:host=localhost;dbname=r_zaklad_uzivatele','lipovlkosako','O ptik59ZRoad=4jeGoodJo');
foreach ($dotaz->query('SELECT u.User FROM mysql.user as u') as $row) {
print_r($row)." ";
}

tak nechapu co mi to tim chce naznacit, ridil jsem se manualem odut
http://cz.php.net/manual/en/ref.pdo.php
a na googlu toho k nalezeni moc neni o teto chybe, minimalne zadne reseni
Dostak
Profil *
no, hadam ze je to prilis slozite na toto forum, nevite nekdo kdo by to mohl vedet?moc nerozumim proc to nefunguje viz vyse
bukaj
Profil
možná bych si zkusil přeložit tu chybu ;)
Fatal error: Call to a member function bindParam() on a non-object in /var/www/xxx/example.php on line 14
Fatální chyba: Volání členské funkce bindParam() na ne-objektu v souboru /var/www/xxx/example.php na řádce 14

jestli jsem to pochopil správně, tak nejdříve se vytvoří instance $db objektu PDO. potom se nějak vypreparuje dotaz, což může být string nebo resource nebo cokoli jiného, ale ne instance objektu. a pak je volán jako by byl objekt a to už php prostě nesnese...
MzM
Profil
pokud je to správně zapsané, tak je potřeba ošetřit chybu, která múže nastat při prepare(), tohle by asi mělo vrátit objekt, pokud nevrátí, tak nemůžu volat metodu něčeho, co není.
Toto téma je uzamčeno. Odpověď nelze zaslat.