2017-04-17 10 views
0

私はここまで見てきました。私がphpとmysqlを初めて使用しているので、辛抱強くお待ちください。 WAMPPがインストールされています&が正常に動作しているようです。私はphpMyAdminから単純な "テスト"データベースを作成し、その中に "firsttable"を作成しました。私はw3schoolsの例を使って単純な接続を行うことができますが、入力した&の表示データを選択しようとすると、エラーがスローされます。PHPを使用した基本的なmysqlデータの抽出

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 

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

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT reference, firstname, lastname, room FROM firsttable"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
     echo "id: " . $row["reference"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "room:" . $row["room"]. "<br>"; 
    } 
} else { 
    echo "0 results"; 
} 


if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
$conn->close(); 
?> 

まずオフは、私はライン17読み取っ1にパースエラーが出ます:

if ($result->num_rows > 0) { 

エラーは言う:非オブジェクトのプロパティを取得しようとしています。

タグで全体のPHPコードをラップし、HTMLとして保存しようとしましたが、行データが見つからなかったようです。

正常に接続する非常に簡単なコードを使用できます。データベースがそこにあることを確認することができます。テーブルとそれに追加した内容も同様です。

どうしたらいいですか?

+0

テスト用です。var_dump($ result); – Hackerman

+0

接続機能にデータベースを追加する必要があります。 –

+0

_ "非オブジェクトのプロパティを取得しようとしています" _これは '$ result'がオブジェクトではなく、それをオブジェクトとして参照しようとしていることを意味します。 'var_dump($ result)'を実行すると、実際に何が表示されます。可能な戻り値を知るには、 'query()'関数のドキュメントを参照してください。 –

答えて

1

はあなたが接続するデータベースを指定する必要があります。$databaseは、データベースの名前(この場合はtest)である

$database = 'test'; 

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

。 MySQLはあなたのテーブルがあなたがそれを知らせずに存在するデータベースを知らない。

さらに、データベース接続(これらのうちの2つがあり、最後のものは必要ありません)とクエリのエラーチェックが常に含まれている必要があります。あなたが何かが失敗したときの詳細については、エラーログをチェックすることができます。

+0

私は上の提案された変更を行い、最後のエラーチェックを落としましたが、上記の$ conn行に予期しない "、"という唯一の "、"が "$ database" – user258081

+0

@Alex、説明してくれてありがとうございます "var_dump($ result);"私はちょうどw3schoolsのコード例をコピーしましたので、$結果がオブジェクトではないか、またはどちらかを意味するように参照しようとしていません。私はまた、以下のミニ・マークダウン・フォーマットの意味を理解しようとしています。 – user258081

+0

@ Shadow、私は混乱しています。あなたは私がSQLエラーをチェックしないと言いますが、そうすべきです。私は答えがJayのオリジナルかFredの編集か分かりませんが、2つのエラーチェックがあり、両方が必要ではない&それらの1つを削除する必要があることを示唆しています。また、エラーログも確認します。 – user258081

関連する問題