Привет, ребята, я работаю над процессом вставки после подключения 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