2015-08-16 3 views
-4
class Database 
{ 
    public $connect = ""; 

    public function connect() 
    { 
     $connect = new mysqli("localhost", "root", "1521", "phone"); 
     ini_set('default_charset', "UTF-8"); 
     mysqli_set_charset($connect, "utf8"); 
     header('Content-type: text/html; charset=UTF-8'); 
     if ($connect->connect_error) { 
      die('Not connect' . mysqli_connect_error()); 
     } 
    } 

    public function insert() 
    { 
     $sql = "SELECT id FROM personal ORDER BY id DESC LIMIT 1"; 
     //global $connect; 
     $result = $connect->query($sql);//// this here !!!!!!!! 
     $row = $result->fetch_assoc(); 
     $tempint = (int)$row['id']; 
     $tempint += 1; 
    } 
} 

Почему функция $ connect in insert не работает? Я добавил глобальный befor $ connect, но все еще не работаю. этот очень простой класс для MySQL.глобальная переменная не работает в php-классе

+0

I new in oop php. – user2254798

ответ

2

Синтаксис неверен.

Измените это,

$connect = new mysqli("localhost", "root", "1521", "phone"); 

К,

$this->connect = new mysqli("localhost", "root", "1521", "phone"); 

Кроме того,

$result = $connect->query($sql); 

К,

$result = $this->connect->query($sql); 

С вышеуказанными изменениями это должно решить проблему.

$connect был создан в рамках класса, поэтому, когда вы обратитесь к нему, вам необходимо использовать $this.

Смежные вопросы