2011-10-21 12 views
0

私のコードに問題があります。私の目的は、データベースからいくつかのデータを取得し、データベースを再度更新することです。mysqlから取得した保存データ

while($row = mysql_fetch_array($result)) { 

    if ($phpgsb->doLookup($row['origin']) === true) {   
     echo var_dump($phpgsb->doLookup($row['origin'])). " - ". $row['origin']; 

mysql_connect("localhost", "ali", "password"); 
mysql_query("UPDATE `mydatabase`.`dns_soa` SET active='N' WHERE origin='".$row['origin']."'"); 

echo "<br>"; 
} 
} 



echo var_dump($phpgsb->doLookup($row['origin'])). " - ". $row['origin'];の出力は、Iが削除する場合のMySQLデータベースから正しい出力が表示されるコード

mysql_connect("localhost", "ali", "password"); 
mysql_query("UPDATE `mydatabase`.`dns_soa` SET active='N' WHERE origin='".$row['origin']."'"); 

を接続するために奇妙である

bool(true) - hello.com. 



あります:

bool(true) - hello.com. 
bool(true) - jool.com. 
bool(true) - kool.com. 



のSe毎回私はこのコードだけhello.comを走りました。レコードはデータベースで更新されます。これは間違っています。 UPDATEクエリを使用して3つのレコードをすべて更新するにはどうすればよいですか?

ありがとうございます。

+0

ループ内で毎回接続を呼び出す必要はありません.MySQLはすでに最後のリンクを再利用しています。最初のクエリの前に接続して実行します –

答えて

2

このライン乗り:

mysql_connect("localhost", "ali", "password"); 

をし、whileループの(前)、それを出します。 dbに何度も何度も接続する必要はありません。

+0

2つの異なるデータベースを持つ2人のユーザーがいるため、接続を再度行う必要があります。彼らは両方ともお互いのデータベースにアクセスすることはできません。私は両方のデータベースにuser aliへの完全な権限を与えられたので、1つの接続だけが必要です。これは私の問題を自動的に解決しました。私にデータベースの特権のアイデアを与えてくれた両者の功績。 Damien PirsyとAurelioDeRosaに再び感謝します:) – sg552

関連する問題