J'ai des bases de données d'utilisateurs et chacune a des tables. Je veux faire une boucle à travers chaque utilisateur et trouver le nombre de rangées d'une table particulière commune à chacun. Je me connecte donc au premier DB (usersDB) et sélectionne les noms d'autres DB à partir d'une ligne de table (userinfo) (user_name). Je me connecte ensuite à chaque DB en utilisant les noms obtenus dans userinfo et essaye de trouver le nombre de lignes qu'ils ont chacun sur une table particulière (produits) commune à eux. J'ai essayé ceci mais montre le même nombre de rangées pour chacun d'eux. De l'aide??Trouver le nombre de lignes de chaque utilisateur dans MYSQL
<?php
//db parameters
$dbhost = "localhost";
$dbname = "usersDB";
$dbuser = "root";
$dbpass = "";
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
mysql_select_db($dbname) or die("MySQL Error: " . mysql_error());
//select main db
$query = "SELECT user_name FROM userinfo";
$result = mysql_query($query);
while($row = mysql_fetch_array($result, MYSQL_BOTH))
{
$dbName =$row['user_name'];
mysql_connect($dbhost, $dbuser, $dbpass) or die("MySQL Error: " . mysql_error());
mysql_select_db("dbprefix_".$bName) or die("MySQL Error: " . mysql_error());
// do a query for each db
$query = mysql_query('SELECT * FROM `products`');
$num_rows = mysql_num_rows($query);
echo $dbName." has".$num_rows."products"."<br/>";
}
?>
Avez-vous cassé vers le bas pour vérifier les variables sont ce que vous pensez qu'elles devraient être? De plus, quel numéro sortez-vous, savez-vous s'il s'agit du premier nombre de lignes db 1 ou 0? – BenWells
@BenWells: Oui Cela compte 1. De toute façon, le problème était que je ne fermais pas les connexions. – karto