0

このような似たような質問がたくさんあることは知っていますが、それを自分の問題に変換することはできないので、もう一度質問します。コードは以前は正常に機能していましたが、mysqlは非推奨になるため、mysqliに変換したいと思いました。

データベースから何かを読み込もうとすると、次のエラーが発生します。キャッチ可能な致命的なエラー:クラス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++;
 }

どうすればこれを解決できますか?

4

2 に答える 2

1
$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...
 }

はるかに簡単です。

于 2013-01-28T23:30:47.500 に答える
0

それはmysqli_result結果セットだからです。を使用するクエリの結果セットを実行しechoても意味のあるものが得られないのと同じように、それを実行することで何が得られるかわかりません。echomysql_querySELECT

結果セットのデータにアクセスするには、さまざまなクラスメソッドを使用する必要があります。

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

于 2013-01-28T23:30:44.533 に答える