2009-12-27 7 views
0

Je veux vérifier si une colonne contient des valeurs de champs dans une table. Parce que je veux obtenir les valeurs de champ dans une colonne et faire quelque chose avec eux, mais d'abord je dois vérifier s'ils existent ou non.vérifier si les valeurs de champs existent?

i ont essayé:

$query = "SELECT anonymous_username FROM users"; 
$result = mysqli_query($conn, $query) or die ("Couldn't execute query: " . mysqli_error($conn)); 

if(mysqli_num_rows($result) > 0) 
{ 
while($row = mysqli_fetch_assoc($result)) 
{ 
    echo "exists"; 
} 
} 

mais même si tous les champs de cette colonne étaient vides, il en écho « existe ». alors comment puis-je le faire?

EDIT: google est votre ami:

$query = "SELECT anonymous_username FROM users WHERE anonymous_username <> '' AND anonymous_username IS NOT NULL"; 
+0

Etes-vous sûr que la ligne spécifique fait écho à "existe"? – Gumbo

+0

oui, et j'ai trouvé la solution maintenant..se mon post mis à jour – ajsie

+0

Plutôt que de le gérer sur la couche de données, pouvez-vous faire votre logique sur la couche de gestion, où vous faites quelque chose comme: if (! Isset ($ row)) {// votre logique}. –

Répondre

1

Si vous cherchez à vérifier si une ligne a un non-NULL, colonne anonymous_username non vide, vous pouvez:

SELECT count(*) as Num 
FROM users 
WHERE LENGTH(anonymous_username) > 0 

En PHP, vous pouvez récupérer le numéro comme:

$result = mysql_query($sql); 
$row = mysql_fetch_assoc($result); 
$rowcount = $row['num']; 
3

mysqli_affected_rows est uniquement pour les requêtes qui modifient des données comme INSERT, UPDATE, REPLACE ou DELETE. Pour SELECT, utilisez mysqli_num_rows.

+0

mais il n'a pas encore aidé parce que le résultat est toujours 1. il obtient le champ bien qu'il soit vide. fondamentalement je veux vérifier si n'importe quels champs dans une colonne a une valeur ou pas. – ajsie

Questions connexes