1

次のMySQLクエリを実行すると

$result = mysql_query("SELECT * FROM credentials ORDER BY RAND() LIMIT 1");
$result =mysql_fetch_row($result);
$username=$result["username"];
$password=$result["password"];
$gateway=$result["gateway"];

次のエラーが表示されます。

注意: 未定義のインデックス: C:\xampp\htdocs\switch\switch\index.php の 78 行目のユーザー名

Notice: Undefined index: password in C:\xampp\htdocs\switch\switch\index.php 行 79

注意: 未定義のインデックス: 80 行目の C:\xampp\htdocs\switch\switch\index.php のゲートウェイ

誰か助けてくれませんか?

4

4 に答える 4

2

78行目に何があるかわかりませんが、セミコロンを確認する必要があります。

$result = $result->fetchRow()

ここに1つ欠けています。ここに書き込む前に、まず自分で調べて解決策を見つける必要があります。

編集:

$result はオブジェクトではありません。使用する

$result = mysql_fetch_row($result);
于 2012-07-16T12:05:27.340 に答える
2
$result = mysql_query("SELECT * FROM credentials ORDER BY RAND() LIMIT 1");
$result = $result->fetchRow();
$username=$result["username"];
$password=$result["password"];
$gateway=$result["gateway"];

; を逃した $result = $result->fetchRow() の後

于 2012-07-16T12:06:01.163 に答える
0

mysql_fetch_row の代わりに mysql_fetch_assoc を試す

Fetch_row は、result['password'] ではなく $result[0] などの列挙型配列を返します。

于 2012-07-16T13:37:48.780 に答える
0

クエリでエラーが発生した場合mysql_query、ブール値が返されます..そのためのチェックを導入します。

$result = mysql_query("SELECT * FROM credentials ORDER BY RAND() LIMIT 1");

if (!$result) {
    die('Invalid query: ' . mysql_error());
}

$result = mysql_fetch_array($result);
$username=$result["username"];
$password=$result["password"];
$gateway=$result["gateway"];

また、数値配列を返すことにも注意してくださいmysql_fetch_row..連想配列mysql_fetch_array()を返すには(デフォルトで両方を返します)、またはmysql_fetch_assoc()

于 2012-07-16T13:41:31.393 に答える