Здравейте момчета, работя върху процес на вмъкване след PDO връзка с помощта на клас. Всичко е наред за връзката и показването. Но когато създадох нова функция в класа и написах команди за процеса на вмъкване, получих този ред за грешка:
Фатална грешка: Неуловена грешка: Извикване на недефинирана функция db_connection_function() в /var/www/html/test/index.php:29 Проследяване на стека: #0 /var/www/html/test/index.php(48): връзка ->add_member_to_table() #1 {main} хвърлен в /var/www/html/test/index.php на ред 29
Тази функция ми дава грешка
public function add_member_to_table() {
$this->query = db_connection_function()->prepare("INSERT INTO users(username, password) VALUES('onur', 'turali')");
$this->query->execute();
if($this->query == true) {
echo "Member registered";
} else {
echo "Error";
}
}
Опитах $this->connection_db_link.... Исках да опитам да напиша име на функция вместо connection_db_link(име на функция за свързване с mysql), но това е безполезно според мен. И така, как да поправя този проблем?
Моите изходни кодове:
<?php
class connection{
public $connection_db_link;
public $db_host = "localhost";
public $db_user = "root";
public $db_pass = "Antalya07Ragnar";
public $db_name = "test";
public function db_connection_function(){
try{
$this -> connection_db_link = new PDO("mysql:host=$this->db_host;$this->db_name", $this->db_user, $this->db_pass);
$this->connection_db_link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
return $this->connection_db_link;
}catch(PDOException $e){
echo "Error: ".$e->getMessage();
}
}
public $query;
public function add_member_to_table(){
$this->query = db_connection_function()->prepare("INSERT INTO users(username, password) VALUES('onur', 'turali')");
$this->query->execute();
if($this->query == true){
echo "Member registered";
}else{
echo "Error";
}
}
public function display_connection(){
if($this->connection_db_link == true){
echo "Connection success";
}
}
}
$user = new connection;
$user->db_connection_function();
$user->display_connection();
$user->add_member_to_table();
?>
$this->db_connection_function()
и защо просто не го създадете в конструктора и просто го използвате като свойство вместо това - person Kevin   schedule 22.09.2016$this->connection_db_link
вече е зададено и след това да върнете тази променлива, вместо да отваряте нова връзка. - person Barmar   schedule 22.09.2016