gawric
Новичок
Здравствуйте. Изучаю PHP относительно не давно, вчера читал книгу и делал класс для подключения mysqli и не большой запрос
Сам класс:
Вот как я его использую:
Я пытался решить ее сам 2-3 дня, просто голову всю сломал. Вообщем если я передаю из php файла функцию с аргументом, то функция выдает ошибку что "запрос к базе данных пустой".
$query = "SELECT ip FROM allserver3";
$emp->query1($query);//вызываем функцию
Но если я в функции вызываю "$query = "SELECT ip FROM allserver3";" все срабатывает нормально.
Вопрос вот в чем, почему аргумент хоть и передается в функцию
$result = $this->mysqli->query($query);//запрашиваем информацию из базы <=------ игнорирует переданные данные.
делал в функции print_r($query); нормально выводит текст запроса.
Заранее спасибо за ответ.
Сам класс:
PHP:
<?php
require 'info_class.php';//подключаем класс с данными для коннекта
class db {
private $info;//объявляем переменную для работы внутри класса
public $mysqli;//объявляем переменную для работы по всем классам
public function __construct() { //запускаем конструкт т.к он запускается всегда первым в классе
$this->info = new info();//создаем объект для подключения к бд (параметры)
$this->mysqli = new mysqli($this->info->host, $this->info->login, $this->info->pass, $this->info->db);//подключаемся к бд
$this->mysqli->query("SET NAMES 'utf8' ");//вызываем кодировку для работы с бд
}
public function query1($query) { //выполняем зарос в базу данных
//$query = "SELECT ip FROM allserver3";
$result = $this->mysqli->query($query);//запрашиваем информацию из базы
return $result;//возвращаем результат запроса
}
}
?>
PHP:
<?php
require_once "db.class.php";//класс работы с базой данных
$emp = new db();//создаем объект
$emp->query1($query);//вызываем функцию
if(mysqli_num_rows($emp->query1($result))>0){//получаем результат и считаем кол-во строк в полученном результате
echo "Данный Логин уже есть в базе данных<br>";
}
else
{
echo "логин успешно добавлен в базу данных<br>";
}
echo mysql_errno();
/* проверяем соединение */
?>
$query = "SELECT ip FROM allserver3";
$emp->query1($query);//вызываем функцию
Но если я в функции вызываю "$query = "SELECT ip FROM allserver3";" все срабатывает нормально.
Вопрос вот в чем, почему аргумент хоть и передается в функцию
$result = $this->mysqli->query($query);//запрашиваем информацию из базы <=------ игнорирует переданные данные.
делал в функции print_r($query); нормально выводит текст запроса.
Заранее спасибо за ответ.