Ошибка fetch assoc, как я могу это исправить? Echo не возвращает нужное значение


у меня есть следующий код, который я учусь:

$mysqli = new mysqli('localhost', 'root', '', 'mydb');
$sql = "SELECT * FROM ordem_producao WHERE op_id = $id;";
$query = $mysqli->query($sql);
$resultado = $query->fetch_assoc($sql);

body в моем html у меня есть:

<?php echo $resultado['id']; ?>

На странице появляется следующее сообщение об ошибке

PHP Warning: mysqli_result::fetch_assoc() expects exactly 0 parameters, 1 given in E:\home\paginas\view\view_op.php онлайн 9

9-я линия код

$resultado = $query->fetch_assoc($sql);

что я делаю неправильно??

Спасибо

 1
php
Author: Junior, 2016-07-08

2 answers

Вам не нужно параметры fetch_assoc()
Вы можете сделать так:

$mysqli = new mysqli('localhost', 'root', '', 'mydb');
$sql = "SELECT * FROM times WHERE id = $id;";
$query = $mysqli->query($sql);
while($row = $query->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Nome: " . $row["nome"]. "<br>";
}

Просто вы удалите параметр fetch_assoc()

 1
Author: Ricardo Mota, 2016-07-08 14:52:08

, Чтобы связать весь результат запроса, вы должны использовать метод fetch_all:

$mysqli = new mysqli('localhost', 'root', '', 'mydb');
$sql = "SELECT * FROM ordem_producao WHERE op_id = $id;";
$query = $mysqli->query($sql);


//Retorna o resultado da query em um array associativo
$resultado = $query->fetch_all(MYSQLI_ASSOC);

//Retorna o resultado da query em um array numérico
$resultado = $query->fetch_all(MYSQLI_NUM);

//Retorna o resultado da query em um array com ambos os tipos(associativo e numérico)
$resultado = $query->fetch_all(MYSQLI_BOTH);
 1
Author: Marcelo de Andrade, 2016-07-08 17:42:11