0

クエリを実行しているデータベースがあり、結果が画面に表示されます。行は、データベースから返された配列から情報を取得するポイントまでエコーアウトします。データが省略されている理由がわかりません。

case 'search':
echo "<br>";
echo "searching: ".$firstname;
echo "<br>";



$sqlsearch="SELECT * FROM Customer WHERE firstname='$firstname'";


$data = mysql_query($conndb, $sqlsearch);

//$row = mysql_fetch_array($results);

while($row = mysql_fetch_array($data));
{
echo "firstname: ".$row['firstname']."<br>";
echo "lastname: ".$row['lastname']."<br>";  
echo "phone: ".$row['phone']."<br>";
echo "address: ".$row['address']."<br>";
echo "city: ".$row['city']."<br>";
echo "state: ".$row['state']."<br>";
echo "zip: ".$row['zip']."<br>";
echo $sqlsearch;
break;
}

echo "<br>";
echo "seaching 2";
mysql_close($condb);
break;

これを実行した場合の出力は、データベースに入力した名が「Jon」のユーザーを検索するため、接続が機能していることがわかります。少なくとも入力は次のようになります。

searching: Jon
firstname: 
lastname: 
phone: 
address: 
city: 
state: 
zip: 
SELECT * FROM Customer WHERE firstname='Jon'

Customer は、firstname、lastname、phone、address、city、state、zip のフィールドを持つテーブルです。これらは、列の正確な名前とケースです。そのように設定していないため、主キーとしてリストされているフィールドはありません。

4

1 に答える 1

0

廃止されたので mysql_ 関数を宣伝する必要はありませんが、パラメーターを切り替えてみましたか?

mysql_query($conndb, $sqlsearch);

する必要があります

mysql_query($sqlsearch, $conndb);

これらのドキュメントによると:

http://php.net/manual/en/function.mysql-query.php

そのページの上部にある巨大な警告と、mysqli または PDO の使用がどのように提案されているかに注意してください。

于 2013-09-26T02:21:57.330 に答える