sparrow.ali
شنبه 02 خرداد 1394, 15:00 عصر
سلام و خسته نباشید
من دارم یک وب اپلیکشین مینویسم و از سبک oop دارم استفاده میکنم
متاسفانه تو طراحی کلاس دیتا بیس مشکل خودرم
من از این کدا برای وصل شدن به دیتا بیس استفاده میکنم.
/* * This codes created by ALIASGHAR KESHAVARZ (+98 939 067 5600) */
class DataBase { private $conn; private $info; private $db;
public function __construct ($servername=DB_SERVER, $user=DB_USER, $pass=DB_PASS, $db=DB_DATABASE) {
$this->db = $db; $this->conn = new mysqli($servername,$user,$pass, $this->db); if (!$this->conn)
{ if ($this->conn->connect_error) { $this->info = "ERROR CODE=DB100: Connection failed <br> " . $conn->connect_error; $this->close(); echo $this->getInfo(); } else { $this->info = "ERROR CODE=DB101: Connection failed <br> "; $this->close(); echo $this->getInfo(); }
}
}
public function getInfo () { return $this->info; }
// send sql to database
public function sendQuery ($sqll) { $this->conn->set_charset("utf8"); $result = $this->conn->query($sql); if ($result == true) { return $result; } else { $this->info = "ERROR CODE=DB102: Sql query not work <br>".$this->conn->error; $this->close(); echo $this->getInfo(); return false;
}
}
// This method close the connection
public function close () {
$this->conn->close();
}
function __destruct() {
$this->close();
}
}
من هرکاری کردم کد بالا درست نشد تو اینجا
لینک سورسش اینه
http://s6.picofile.com/file/8189890634/database.rar.html
(http://s6.picofile.com/file/8189890634/database.rar.html)
بعد وقتی نمونه کد زیر رو میزنم
$con = new DataBase();
$r = $con->sendQuery("INSERT INTO `table`.`c` (`name`) VALUES ('$var');");
$con->close();
کد کار میکنه و تو دیتا بیسم مینویسه ولی خطای
Warning: mysqli::close(): Couldn't fetch mysqli in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\automasion\admin\p rotected\componets\database.php on line 102
که به این کد اشاره میکنه رو میده
public function close () {
$this->conn->close();
}
و از
$this->conn->close();
تو کد اولی که دادم ایراد میگره
باس چی کنم دوستان؟ :(
من دارم یک وب اپلیکشین مینویسم و از سبک oop دارم استفاده میکنم
متاسفانه تو طراحی کلاس دیتا بیس مشکل خودرم
من از این کدا برای وصل شدن به دیتا بیس استفاده میکنم.
/* * This codes created by ALIASGHAR KESHAVARZ (+98 939 067 5600) */
class DataBase { private $conn; private $info; private $db;
public function __construct ($servername=DB_SERVER, $user=DB_USER, $pass=DB_PASS, $db=DB_DATABASE) {
$this->db = $db; $this->conn = new mysqli($servername,$user,$pass, $this->db); if (!$this->conn)
{ if ($this->conn->connect_error) { $this->info = "ERROR CODE=DB100: Connection failed <br> " . $conn->connect_error; $this->close(); echo $this->getInfo(); } else { $this->info = "ERROR CODE=DB101: Connection failed <br> "; $this->close(); echo $this->getInfo(); }
}
}
public function getInfo () { return $this->info; }
// send sql to database
public function sendQuery ($sqll) { $this->conn->set_charset("utf8"); $result = $this->conn->query($sql); if ($result == true) { return $result; } else { $this->info = "ERROR CODE=DB102: Sql query not work <br>".$this->conn->error; $this->close(); echo $this->getInfo(); return false;
}
}
// This method close the connection
public function close () {
$this->conn->close();
}
function __destruct() {
$this->close();
}
}
من هرکاری کردم کد بالا درست نشد تو اینجا
لینک سورسش اینه
http://s6.picofile.com/file/8189890634/database.rar.html
(http://s6.picofile.com/file/8189890634/database.rar.html)
بعد وقتی نمونه کد زیر رو میزنم
$con = new DataBase();
$r = $con->sendQuery("INSERT INTO `table`.`c` (`name`) VALUES ('$var');");
$con->close();
کد کار میکنه و تو دیتا بیسم مینویسه ولی خطای
Warning: mysqli::close(): Couldn't fetch mysqli in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC11\data\localweb\projects\automasion\admin\p rotected\componets\database.php on line 102
که به این کد اشاره میکنه رو میده
public function close () {
$this->conn->close();
}
و از
$this->conn->close();
تو کد اولی که دادم ایراد میگره
باس چی کنم دوستان؟ :(