En travaillant sur mon premier site PHP (je suis principalement un programmeur ASP), et j'ai besoin de convertir une variable querystring en un nombre que je peux ensuite utiliser pour interroger une base de données. Quel est le meilleur moyen de convertir en un int utilisable (j'ai déjà essayé intval() mais je continue à obtenir 0
comme résultat) et aussi de le valider (AKA pas de guillemets simples, bla bla) en PHP?Convertir querystring en int en PHP
Répondre
PHP permet beaucoup plus de flexibilité avec les types que ASP, et convertira automatiquement entre différents types.
La meilleure façon d'assurer un certain nombre dans votre SQL est d'utiliser sprintf()
, par exemple:
$sql = "SELECT name FROM users WHERE id = ".sprintf("%d", $_POST['userid']) ;
Lors de l'insertion des chaînes fournies par GET ou POST dans votre SQL, vous devez utiliser mysql_real_escape_string()
(en supposant que votre SQL est va MySQL) pour échapper à tout ce qui doit échapper, donc:
$sql = "SELECT id FROM users where name = ".sprintf("'%s'", mysql_real_escape_string($_GET['username'])) ;
Que fera sprintf() si une chaîne comme "bonjour" est présentée dans la chaîne de requête au lieu d'un nombre? – MarathonStudios
@MarathonStudios: '0' –
Excellent, merci! – MarathonStudios
Vous essayez probablement de lire les paramètres d'entrée pour un script PHP - Je vous recommande d'utiliser
$_POST $_GET
tableaux, car ils détiennent toutes ces informations déjà analysées.
je suis déjà en utilisant ces derniers, je dois juste confirmer que l'entrée est un numéro avant de l'ajouter à ma requête SQL. – MarathonStudios
- 1. Comment convertir int * en int
- 2. convertir int en octets
- 3. Convertir int en] [
- 4. Convertir int32 en int
- 5. Convertir int en chaîne?
- 6. Impossible de convertir int [] [] en int *
- 7. Comment convertir int [] en byte []
- 8. Comment convertir Scope_Identity() en int?
- 9. java convertir int en court
- 10. convertir la chaîne en int
- 11. convertir la chaîne [] en int []
- 12. convertir un int en char *
- 13. convertir int flotter en hexadécimal
- 14. Convertir INT en DATETIME (SQL)
- 15. Convertir l'objet en primitive int
- 16. traitement: convertir int en octet
- 17. realloc - convertir int en char
- 18. MySQL: Convertir INT en DATETIME
- 19. Convertir IntPtr en int * en C#?
- 20. Convertir int en tableau d'octets en C?
- 21. convertir décimal en int en C#
- 22. convertir la chaîne en int en C++
- 23. Encrypting Querystring et décryptant en PHP
- 24. Vérification des valeurs querystring en PHP
- 25. Convertir le tableau <int^>^en int *
- 26. C# Convertir string en int (avec arrondi)
- 27. Requête Sql pour convertir nvarchar en int
- 28. Convertir binaire en int sans convertir.ToInt32
- 29. Comment convertir un bitmap en int []?
- 30. Comment convertir un int ByteStream en chaîne?
je ne comprends pas – Svisstack