2017-03-29 7 views
-1

データベースからテーブル全体をエコーし​​ようとしていますが、毎回、「通知: /home/st359450/public_html/epw/database.php on line 24 'エラーが発生しても、動作しません。私のブラウザでは、データベースへの接続が機能していることを確認しています。PHP/MYSQLIエラー:通知:非オブジェクトのプロパティを取得しようとしています

接続を確立した後、PHPコードは次のとおりです。$ sqlを変数に

<?php 

$servername = "localhost"; 
$username = "359450"; 
$password = "dJDgxR"; 


//create connection 


$conn = mysqli_connect($servername, $username, $password); 

if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

echo "Connected successfully <br> <br>"; 


$sql = "SELECT klantnummer, voornaam, tussenvoegsel, achternaam, straat, huisnummer, postcode, woonplaats, telefoonnummer, emailadres FROM CMI_klanten"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "Klantnummer: " . $row["klantnummer"] . "Naam: " . $row["voornaam"]. " " . $row["tussenvoegsel"]. " " . $row["achternaam"] . "Adres: " . $row["straat"] . " " . $row["huisnummer"] . " " . $row["woonplaats"] . "Telefoonnummer: " . $row["telefoonnummer"] . "Emailadres: " . $row["emailadres"] . "<br>"; 
} 
} else { 
echo "0 results"; 
} 
$conn->close(); 

?> 

すべてが正しく入力されています。私はそれを複数回チェックした。エラーが表示されても、「0結果」を出力します。私は複数の同様の質問をチェックしましたが、誰も私の問題を解決できませんでした。 エラーは、次のビットである。

if ($result->num_rows > 0) { 
// output data of each row 
while($row = $result->fetch_assoc()) { 
    echo "Klantnummer: " . $row["klantnummer"] . "Naam: " . $row["voornaam"]. " " . $row["tussenvoegsel"]. " " . $row["achternaam"] . "Adres: " . $row["straat"] . " " . $row["huisnummer"] . " " . $row["woonplaats"] . "Telefoonnummer: " . $row["telefoonnummer"] . "Emailadres: " . $row["emailadres"] . "<br>"; 
} 
} else { 
echo "0 results"; 
} 
$conn->close(); 

?> 

私はあなたたちが私を助けることができると思います!

+0

あなたのオブジェクトはどこですか? – Zl3n

+0

php myadminでクエリを実行し、結果が得られるかどうかを確認してください – Akintunde007

+0

行24はどこですか? –

答えて

1

あなたは、データベースのパラメータを持っていません。 mysqli接続を初期化するときに最後のパラメータとしてデータベース値を入力してください:

$database ='database_naam'; 

$conn = mysqli_connect($servername, $username, $password, $database); 
0

手続き型mysqliからオブジェクトメソッドを呼び出しています。私はこれが何かを壊すとは思っていませんが、あなた自身の正気と、このコードをあなたの後に見るかもしれない人にとっては、私は1つのスタイルを選んで一貫してそれに行きます。

すぐにnum_rowsを呼び出すことはできません。 manualパー:

The use of mysqli_stmt_num_rows() depends on whether or not you used mysqli_stmt_store_result() to buffer the entire result set in the statement handle.

クエリの呼び出しの後に次の行を追加して再試行してください:

$result->store_result(); 
+0

'mysqli_stmt_num_rows()'はプリペアドステートメントに関するものです。質問にプリペアドステートメントはありませんので、これはおそらくここでは関係ありません。 –

関連する問題