PHP PDO récupérer la valeur null
Comment voulez-vous vérifier si une des colonnes de la valeur est null? Exemple de code:
$db = DBCxn::getCxn();
$sql = "SELECT exercise_id, author_id, submission, result, submission_time, total_rating_votes, total_rating_values
FROM submissions
LEFT OUTER JOIN submission_ratings ON submissions.exercise_id=submission_ratings.exercise_id
WHERE id=:id";
$st = $db->prepare($sql);
$st->bindParam(":id", $this->id, PDO::PARAM_INT);
$st->execute();
$row = $st->fetch();
$this->total_rating_votes = $row['total_rating_votes'];
if($this->total_rating_votes == null) //this doesn't seem to work even though there is no record in submission_ratings????
{
...
}
- Ce n'
$row['total_rating_votes'];
contenir? - $row['total_rating_votes']; doit contenir la valeur NULL comme les documents n'existent pas dans submission_ratings table. J'ai vérifié en exécutant la requête dans la commande mysqladmin.
- Si il n'y a pas d'enregistrements, puis $row['total_rating_votes'] n'est pas défini. Fais un print_r($row). Vous devriez vérifier la valeur de retour de la méthode execute, qui sera le nombre d'enregistrements trouvés.
- avez-Vous essayé empty($this->total_rating_votes)? Il est utilisé pour déterminer si une variable est considérée comme vide. Il fonctionne aussi pour les valeurs null.
Vous devez vous connecter pour publier un commentaire.
Lorsque vous vous connectez à la base de données, vous pouvez définir certains attributs pour contrôler la façon dont AOP poignées des valeurs nulles et des Chaînes Vides quand ils sont retournés par la requête de base de données
PDO::setAttribute (PDO::ATTR_ORACLE_NULLS, $option )
Où $option est l'une des opérations suivantes:
N'est-il pas quelque chose comme ça que vous voulez faire?
En fait, vous pourriez vouloir essayer:
Parce que php peut avoir converti la valeur null dans une chaîne vide, et puis ce n'est pas vraiment nulle, c'est ""
Espérons que cette aide!
Merci pour toutes vos réponses. Après un peu d'expérimentation de ce code résolu mon problème