Я знаю, что было задано множество подобных вопросов, подобных этому, но я просто не могу перевести его на свою проблему, поэтому поэтому я снова спрашиваю. Код, используемый для работы отлично, но поскольку 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
.
Для доступа к данным в наборе результатов вам необходимо использовать различные методы класса.