2014-02-02 2 views
0

Так что это код, вызывающий головную боль в это время. Получение этой ошибки:Неустранимая ошибка: вызов неопределенного метода mysqli_result :: execute()

Fatal error: Call to undefined method mysqli_result::execute()

Не знаете, где я сделал это неправильно по адресу:

$mysqli_load = new mysqli(HOST, USER, PASS, DB); 
$query = 'SELECT `id`, `call_taker`, `call_time`, `call_type`, `call_priority`, `call_location`, `call_city`, `reporter_name`, `reporter_num`, `call_info` FROM `calls`'; 
$sql = mysqli_query($mysqli_load, $query) or die($mysqli_load->error); 
$sql->execute() or die($mysqli_load->error); 
$sql->bind_result($c_id, $c_taker, $c_time, $c_type, $c_priority, $c_location, $c_city, $r_name, $r_num, $c_info) or die($mysqli_load->error); 
while($row = mysqli_fetch_assoc($sql)){ 

ответ

0

mysqli_query возвращается mysqli_result object, который имеет методы для работы с результатом запроса, как принести, fetch_object, и т.д., как это является результатом. Запрос уже выполнен на этом этапе.

Использование mysqli::bind_result не в тех местах, должно быть выполнено по инструкции. И его следует избегать вообще, поскольку он был удален в PHP5.4.

насчет сформулировать это так:

$mysqli_load = new mysqli(HOST, USER, PASS, DB); 
$query = 'SELECT `id`, `call_taker`, `call_time`, `call_type`, `call_priority`, `call_location`, `call_city`, `reporter_name`, `reporter_num`, `call_info` FROM `calls`'; 
$sql = mysqli_query($mysqli_load, $query) or die($mysqli_load->error); 

while ($row = mysqli_fetch_assoc($sql)) { 
    // data manipulation 
} 

// and possibly close connection 

Нет необходимости выполнения и ничего переплета.

Для справок в будущем, если ваши запросы потребуют некоторого ввода пользователем, просмотрите How can I prevent SQL injection in PHP?

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