Buna ziua!!! Sunt nou in OOP si vreau sa fac un wrapper care sa contina connect, select, insert, update sa numai fiu nevit sa le scriu de fiecare data dar, ma lovesc de problema asta: "Call to a member function prepare() on a non-object";
clasa:
<?php
class Mysql
{
public $host="localhost";
public $user="root";
public $pass="pass";
public $dname="dbname";
protected $connection;
protected $sql;
protected $numRows;
public function __construct()
{
}
public function connect()
{
try
{
$this->connection=new PDO("mysql:host=".$host.";dbname=".$dname, $user, $pass);
$this->connection->setAttribute(PDO::ATR_ERRMODE, PDO::ATR_ERRMODE_EXCEPTION);
}
catch (PDOexception $e)
{
echo $r->Getmessage();
}
}
public function DB_Query($sql)
{
$query = $this->connection->prepare($sql);
$query->execute();
return $query->fetchAll();
}
}
?>
exemplu:
require("class_db.php");
$db_var=new Mysql();
$sql="select * from categorii";
$result=$db_var->Db_query($sql);
ce gresesc ca nu pot sa imi dau seama...multumesc!!!
Call to a member function prepare() on a non-object
Moderatori: coditza, Emil, Moderatori
-
- PHPRomania Supporter
- Mesaje: 5
- Membru din: Dum Sep 08, 2013 12:05 pm
- Birkoff
- Senior Member
- Mesaje: 6380
- Membru din: Joi Mar 18, 2004 2:34 pm
- Localitate: Bucuresti
- Contact:
Re: Call to a member function prepare() on a non-object
ori sunt eu nedormit ori nu inteleg ce vrei sa faci aici
catch (PDOexception $e)
{
echo $r->Getmessage();
}
$e sau $r ?
2) nu mai lua de bune querurile, trateaza si situatia in care ar apare erori
$query->execute();
return $query->fetchAll(); // de unde stii ca nu a dat eroare la linia de mai sus si nu mai ajunge aici?
catch (PDOexception $e)
{
echo $r->Getmessage();
}
$e sau $r ?
2) nu mai lua de bune querurile, trateaza si situatia in care ar apare erori
$query->execute();
return $query->fetchAll(); // de unde stii ca nu a dat eroare la linia de mai sus si nu mai ajunge aici?
1) CMS, ERP, CRM, etc... (doar pentru clienti))
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
2) Portofoliu, servicii, contact, blog
3) Folositi aceasta clasa sql in proiectele voastre (open source)
4) Vrei un magazin virtual la cheie, usor de folosit, cu api-uri incluse pentru maximizarea vanzarilor si multe alte facilitati? Da un semn si discutam.
-
- PHPRomania Supporter
- Mesaje: 5
- Membru din: Dum Sep 08, 2013 12:05 pm
Re: Call to a member function prepare() on a non-object
am scris gresit eu acolo...cu $r si $e...cum am spus sunt nou in ceea ce priveste oop si vreau sa fac acest wrapper si imi da eroarea mai sus mentionata...
- mndrk
- Senior Member
- Mesaje: 271
- Membru din: Mar Iun 22, 2010 12:02 pm
- Localitate: Bucuresti
- Contact:
Re: Call to a member function prepare() on a non-object
Pe lângă problema aceea, nu te conectezi la baza de date tu. Ai scrisă funcția dar nu e apelată, de accea $connection nu are nicio valoare.
Pentru acesta poți face următorul update în funcția __construct();
Acum se conectează automat când este inițializată clasa.
Pentru acesta poți face următorul update în funcția __construct();
Cod: Selectaţi tot
public function __construct(){
$this->connect();
}
Acum se conectează automat când este inițializată clasa.
Cine este conectat
Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 8 vizitatori