Comment obtenir un nombre entier de sortie à partir d'une requête SQL
J'ai une requête SQL comme suit:
$tagID = mysql_query("SELECT tagID FROM tags WHERE tagName = '$tag'");
echo $tagID;
Je veux $tagID à contenir quelque chose comme 3 ou 5, ou tout entier. Mais quand je l'écho, la sortie est:
resource id #4
Comment puis-je faire un simple entier?
Exactement de la même manière que tout autre type.
Commentaires juste pour être sûr de le voir, prendre un coup d'oeil à MySQLi. C'est une bien meilleure solution.
Commentaires juste pour être sûr de le voir, prendre un coup d'oeil à MySQLi. C'est une bien meilleure solution.
OriginalL'auteur AKor | 2011-02-16
Vous devez vous connecter pour publier un commentaire.
mysql_query()
retourne ressource de résultat, pas de la valeur dans la requête. Vous devez utiliser chercher fonctions pour obtenir les données réelles.Si vous voulez que ce code est plus propre, vérifier que
$result
n'est pasfalse
(requête d'erreur) et$row
n'est pasfalse
(rien trouvé).vous n'avez pas à adapter comp.sci et la sécurité dans tous les quick fix. La question portait sur la question, et la réponse était trop. Comment $tag est filtré est d'une tout autre sujet qui n'était pas examinée ici.
OriginalL'auteur StasM
C'est toujours un choc de voir pas un seul programmeur dans les réponses.
Je sais que l'OP n'est pas un programmeur trop, donc, ma réponse serait totalement vain, mais ce que le diable.
Voici un exemple d'un truc qui s'appelle une fonction:
ce code peut être enregistré dans un fichier de configuration et puis il a appelé de cette manière:
OriginalL'auteur Your Common Sense
La fonction mysql_query, par elle-même, renvoie à une "ressource" sur succès, et false en cas d'erreur. Dans ce cas, vous obtenez une ressource id #44, qui est ce que vous pourriez attendre de cette fonction.
Ce que vous pourriez faire est de prendre la suite de mysql_query et utiliser mysql_fetch_assoc pour convertir les ressources d'un tableau associatif. (Découvrez également mysql_fetch_row, ou mysql_fetch_field pour les autres techniques). Voici une manière typique de la structuration de ce problème:
Veuillez voir le Manuel PHP mysql_query entrée pour plus d'info. Découvrez les commentaires de l'utilisateur dans le bas de particulièrement bons conseils et des exemples de code.
OriginalL'auteur Thomas
Il vous manque une seule étape. Essayez ceci:
Si votre requête ne renvoie plus d'une ligne (c'est à dire il y a plus d'une étiquette avec le même nom de balise), vous aurez envie de mettre dans une boucle:
Additif
Bien que le code ci-dessus permettra de résoudre votre problème, je vous exhorte à s'arrêter là et d'en apprendre davantage sur
mysqli
à la place. Il est beaucoup plus récente, la solution plus robuste que l'utilisation de lamysql_*
fonctions. À partir de la documentation:Également de la documentation:
OriginalL'auteur Stephen
Une requête SQL retourne toujours une Ressource SQL résultat, sans doute illisible objet qui contient les résultats de la requête. En raison de la façon dont les bases de données sont stockées, de la façon dont les utilisateurs peuvent manipuler des données, et l'énorme quantité de données, il est plus facile de stocker l'identifiant que comme un objet.
Pour obtenir les données dont vous avez besoin, vous devez d'abord le convertir en un tableau:
(Où $row[colonne] est la colonne que vous souhaitez extraire des données à partir de(
Ou d'un objet:
(où $objet->colonne est la colonne que vous souhaitez extraire des données à partir de)
Espère que cette aide.
OriginalL'auteur shmeeps