6

私はPHPが初めてで、PHPを使用してWebサイトを構築しようとしています。結果をテストするためのローカルホストがあり、phpmyadmin が既に Web サイトにインストールされています。

私が今やろうとしているのは、データベース「ポータル」からテーブル「プロパティ」の内容をリストし、結果をテーブルに記入することです。

mysqli_querymysqli_fetch_arrayおよび while ループを使用しています。次のエラーが表示されます。

警告: mysqli_fetch_array() は、パラメーター 1 が mysqli_result であると想定します。ブール値は C:\xampp\htdocs\falcon\portal\forms\edit list.php の 15 行目に指定されています

session_start();
require_once "connect_to_mysql.php"; // where i store username and password to access    my db.

$sqlCommand = "SELECT * property FROM portal"; // dbname: portal - table: propery
$query = mysqli_query($myConnection, $sqlCommand);

$Displayproperty = '';
while ($row = mysqli_fetch_array($query))
$id = $row["pid"];
$title = $row["ptitle"];
$area = $row["parea"];
$city = $row["pcity"];
$Displayproperty .= '<table width="500" border="0" cellspacing="0" cellpadding="1">
<tr>
<td>' . $id . '</td>
<td>' . $title . '</td>
<td>' . $area . '</td>
<td>' . $city . '</td>
<td><a href="forms.php?pid=' . $id . '">Upload images</a><br /></td>
</tr>
</table>';
4

6 に答える 6

4

あなたのクエリは間違っているので、その後

$query = mysqli_query($myConnection, $sqlCommand);

$クエリは偽です。そのため、エラーが発生します。

正しい SQL クエリは次のとおりです。

SELECT * FROM portal.property

データベース名を指定する必要がある場合。また、実行する前に:

while ($row = mysqli_fetch_array($query))

$query が存在することを確認する必要があります

if(!empty($query) {
while ($row = mysqli_fetch_array($query)) {
...
于 2012-10-24T16:42:02.627 に答える
2

そのはず

$sqlCommand = "SELECT * FROM portal.property"; /* Database_Name.Table_Name */

または単に使用する

$sqlCommand = "SELECT * FROM property";
于 2012-10-24T16:41:36.947 に答える
2

クエリをこれに置き換えます。前にこの行を追加したことを確認してください。

$db = mysql_select_db('portal');

$sqlCommand = "SELECT * FROM property"; 
于 2012-10-24T16:41:52.093 に答える
1

この問題は、SQL ステートメントの構文エラーであり、mysqli_query()false が返されます。

SELECT * property FROM portalは有効な SQL ではありません。

次のような構文で mysqli_query が有効な結果を返すことを常に確認する必要があります。

$result = mysqli_query($myConnection, $sqlCommand);
if(! $result) {
    die("SQL Error: " . mysqli_error($myConnection));
}

// use result here.....
于 2012-10-24T16:39:47.343 に答える
1

SQL ステートメント

SELECT * property FROM portal

は正しい SQL ではないため、クエリは実行されません。propertyいくつかの結果を得るために単語を削除してみてください 。

于 2012-10-24T16:40:25.727 に答える
1

まず、以下を使用して DB ポータルに接続する必要があります。

$myConnection = new mysqli("localhost", "user", "password", "database");

次に実行します。

$mysqli->query("SELECT * FROM property"); // This will run the query on portal database.

ポータルのプロパティ テーブルを単純にクエリする場合は、次を使用できます。

$mysqli->query("SELECT * FROM portal.property");

また

mysqli_query("SELECT * FROM portal.property");
于 2012-10-24T16:43:31.437 に答える