2011-10-21 3 views
0

J'ai un problème avec mon code. Mon objectif est d'extraire des données de la base de données et de mettre à jour la base de données à nouveau.Données stockées provenant de 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>"; 
} 
} 



la sortie de echo var_dump($phpgsb->doLookup($row['origin'])). " - ". $row['origin']; est

bool(true) - hello.com. 



ce qui est bizarre parce que si je supprime mysql connecter le code

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

la sortie correcte de la base de données sera affichée :

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



Se chaque fois que je couru ce code ne hello.com. l'enregistrement sera mis à jour dans la base de données. C'est faux. Comment puis-je mettre à jour tous les 3 enregistrements en utilisant ma requête UPDATE?

Merci d'avance.

+0

Vous n'avez pas besoin d'appeler une connexion à chaque fois dans la boucle, MySQL réutilisera déjà le dernier lien. Se connecter avant la première requête et de procéder –

Répondre

2

Prenez cette ligne:

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

et le mettre hors (avant) de la boucle while. Vous n'avez pas besoin de vous connecter encore et encore à la base de données.

+0

Je dois faire la connexion à nouveau parce que j'ai 2 utilisateurs avec 2 bases de données différentes. Ils n'ont pas tous les deux accès à l'autre base de données. J'ai fini par accorder tous les privilèges à l'utilisateur ali à la fois de ma base de données donc seulement 1 connexion est nécessaire. Cela a automatiquement résolu mon problème. Crédits à tous les deux pour m'avoir donné l'idée de privilège de base de données. Merci encore à Damien Pirsy et AurelioDeRosa :) – sg552

Questions connexes