Error with fetch_assoc, how do I fix it? Echo does not return desired value

0

I have the following code I'm learning:

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

no body of my html I have:

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

The following error message appears on the page

PHP Warning: mysqli_result :: fetch_assoc () expects exactly 0 parameters, 1 given in E: \ home \ pages \ view \ view_op.php on line 9

line 9 is the code

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

What am I doing wrong?

Thank you

    
asked by anonymous 08.07.2016 / 16:31

2 answers

1

You do not need parameters in fetch_assoc()
You can do this:

$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>";
}

Just remove the parameter from fetch_assoc()

    
08.07.2016 / 16:52
1

To associate the entire query result, you must use the 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);
    
08.07.2016 / 19:42