mysqli: mysqli_result не может быть преобразован в строку

Я знаю, что было задано множество подобных вопросов, подобных этому, но я просто не могу перевести его на свою проблему, поэтому поэтому я снова спрашиваю. Код, используемый для работы отлично, но поскольку mysql будет устаревшим, я хотел перевести на mysqli.

Я получаю следующую ошибку при попытке прочитать что-то из базы данных: Catchable fatal error: Объект класса mysqli_result не может быть преобразован в строку. Это относится к строке 12, которая

echo $result; 

ПОЛНЫЙ КОД:

 $previd ="10"; $query="SELECT * FROM contacts WHERE id='$previd'"; $result = $mysqli->query($query); echo $result; $num=$result->num_rows; $mysqli->close(); echo "<b><center>Database Output</center></b><br><br>"; $i=0; while ($i < $num) { $id=mysql_result($result,$i,"id"); $first=mysql_result($result,$i,"first"); $last=mysql_result($result,$i,"last"); $phone=mysql_result($result,$i,"phone"); $mobile=mysql_result($result,$i,"mobile"); $fax=mysql_result($result,$i,"fax"); $email=mysql_result($result,$i,"email"); $web=mysql_result($result,$i,"web"); $content=mysql_result($result,$i,"content"); echo "<u>$id</u><b>$first $last</b><br>Phone: $phone<br>Mobile: $mobile<br>Fax: $fax<br>E-mail: $email<br>Web: $web<br><hr><br>$content"; $i++; } 

Как я могу это решить?

 $num=$result->num_rows; echo "<b><center>Database Output</center></b><br><br>"; while ($row = $result->fetch_assoc()) { echo "<u>".$row['id']."</u><b>".$row['first']."</b>"; //etc... } 

намного проще.

Это связано с тем, что mysqli_result является результирующим набором. Я не знаю, что вы ожидаете получить от echo , так же как вы не получите ничего значимого из echo -результата набора результатов запроса mysql_query который использует SELECT .

Для доступа к данным в наборе результатов вам необходимо использовать различные методы класса.

http://php.net/manual/en/class.mysqli-result.php