2009-08-18 6 views
-2

Comment pouvez-vous vérifier un résultat de base de données vide, puis faire une action basée sur cela?Pour vérifier `0 rows` de la requête SQL dans Postgres/PHP

Mon code qui met correspondant au résultat si -clause

while($tags_and_Qid = pg_fetch_array($result_tags)) { 
     // Add the Tag to an array of tags for that question 
     $end_array [ $tags_and_Qid['question_id'] ] ['tag'] [] = $tags_and_Qid['tag']; 


    } 

if ($end_array [ $tags_and_Qid['question_id'] ] ['tag'] == '') {                  
      // Problem here!                  
    header("Location: index.php?" 
     . "no_question_found" 
    ); 
    } 
+0

Merci pour vos réponses! –

Répondre

2
if(count($end_array) == 0) 
{ 
    // No Results 
} 

J'aime vérifier le tableau que je utilise foreach sur pour vérifier qu'il est un tableau valide plutôt que la ressource de base de données. C'est parce que je pourrais choisir de filtrer certaines choses après avoir saisi les données, et si je vérifie ce que la base de données retourné, il n'est pas aussi précis que la vérification du tableau que je prévois de traiter.

Vous pouvez également le faire aussi.

if(pg_num_rows($result_tags) == 0) 
{ 
    // Num Rows 
} 
1

Vous pouvez utiliser pg_num_rows(), par exemple

if (!pg_num_rows($result_tags)) { 
    // Problem here!                  
    header("Location: index.php?no_question_found"); 
    exit(); 
} 
while($tags_and_Qid = pg_fetch_array($result_tags)) { 
     // Add the Tag to an array of tags for that question 
     $end_array [ $tags_and_Qid['question_id'] ] ['tag'] [] = $tags_and_Qid['tag']; 
} 
Questions connexes