-3

PHP が動作しません。結果として何も得られません:

MySQL データベースから情報を取得しようとしています。データベースには、次の 2 つの行を持つ 4 つのエントリを持つ 1 つのテーブルが含まれています: PinNumber と SwitchStatus

データベースの値は次のとおりです PinNumber = 3 SwitchStatus = 0

ピン番号 = 5 スイッチステータス = 0

ピン番号 = 6 スイッチステータス = 0

ピン番号 = 9 スイッチステータス = 0

これは私が成功せずに使用しようとしているコードです:

$connect = mysql_connect("localhost", "root", "root");
mysql_select_db("QuickFox");

$fetch = ("SELECT * FROM Switches"));

while($row = mysql_fetch_array($fetch))
{
echo "$row['*']";   
}
4

4 に答える 4

2

コードを分解して分析しましょう。

まず、問題は、関数mysql_queryで使用する MySQL オブジェクトを取得するために呼び出していないことです。mysql_fetch_arrayしたがって、次を実装する必要があります。

$fetch = mysql_query("SELECT * FROM Switches");

これにより、エラーが解消され、結果が得られるはずです。今他のことのために。閉じ括弧が多すぎます

$fetch = ("SELECT * FROM Switches"));
                                   ^

しかし、それらは最初から必要ありません。$fetch = "SELECT * FROM Switches";許容されます。また、結果を取得するときに引用符を使用する必要はありません

echo "$row['*']";
     ^         ^

の使用echo $row[];は許容されるか、使用する必要がある場合があります

echo "{$row[]}";
      ^      ^

ただし、この行は完全に間違っています。*返される配列には列はありません。はい、あなたは言いSELECT *ましたが、データベースは実際には返されません*。次のように返される列の名前を使用する必要があります。

echo $row['PinNumber'];

注意: MySQL_* 関数は PHP 5.5 で非推奨になったため、使用しないでください。代わりに MySQLi_* 関数または PDO を使用してください。

于 2013-04-07T00:24:57.137 に答える
0
  mysql_connect("localhost", "root", "root");
  mysql_select_db("QuickFox");

  $fetch = mysql_query("SELECT PinNumber,SwitchStatus FROM Switches");

  while(list($PinNumber,$SwitchStatus) = mysql_fetch_row($fetch)){
    echo "PinNumber = $PinNumber SwitchStatus = $SwitchStatus";   
  }
于 2013-04-07T00:14:33.417 に答える