За последние 24 часа нас посетили 23846 программистов и 1664 робота. Сейчас ищут 868 программистов ...

Call to a member function bind_param() - mysqli установлен

Тема в разделе "PHP для новичков", создана пользователем DarkElf, 9 июл 2008.

  1. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3. class myClass{
    4.     public $mysqli;
    5.    
    6.     public function __construct(){
    7.         $this->mysqli = new mysqli('192.168.0.144','login','passwd','dark') or die(mysqli_connect_error());
    8.     }
    9.    
    10.     public function get_list($id){
    11.         $query = "SELECT * FROM `table` WHERE `f1` = ?";
    12.         $stmt = $this->mysqli->prepare($query);
    13.         $stmt->bind_param('s', $id);
    14.         $stmt->execute();
    15.         $stmt->bind_result($f1,$f2,$f3);
    16.         //далее - обработка данных
    17.     }
    18. }
    19.  
    20. $myClass = new myClass;
    21. $myClass->get_list();
    22.  
    23. ?>
    //код сильно упрощен.

    вопрос: почему выдается ошибка
    Код (Text):
    1. Call to a member function bind_param() ...
    ?

    PHP:
    1. <?php
    2. var_dump($this->mysqli, $stmt)
    3. ?>
    выдает
    Код (Text):
    1. object(mysqli)#2 (0)
    и
    Код (Text):
    1. NULL
    .

    SQL - запрос синтаксически правилен и выполняется при ручной постановке параметра в соответствии с ожиданиями.
     
  2. DarkElf

    DarkElf Активный пользователь

    С нами с:
    22 окт 2006
    Сообщения:
    1.632
    Симпатии:
    0
    фак мой мозг...

    у пользователя на сервере не было прав на базу данных, которую я пытался использовать...(((