


Comment utiliser la fonction d'erreur floor() et la fonction rand() ensemble dans Mysql
May 26, 2023 pm 10:59 PM1. Fonction floor
1.1 Le rôle de la fonction floor
floor() Le rôle de la fonction floor() est de renvoyer le plus grand entier inférieur ou égal à la valeur
Exemple : select floor (1.1) de qs_ad_category
L'instruction de requête ci-dessus Le résultat est 1. Puisque le plus grand entier inférieur à 1,1 est 1, le résultat est 1
Remarque : Limitations de la fonction floor() : mysql 5.0 et supérieur
2. Fonction rand()
2.1 rand( ) Le rôle de la fonction
Le rôle de la fonction rand() : Obtenez un nombre aléatoire à virgule flottante (une décimale inférieure à 0), tandis que rand(0) obtient un valeur décimale fixe
Exemple : sélectionnez rand() dans qs_ad_category ;
Le résultat est une décimale aléatoire à virgule flottante : 0,7450851357961866
3. La fonction floor() coopère avec la fonction rand()
3.1. utilisation de deux fonctions de combinaison
Puisque la fonction rand() obtient un nombre à virgule flottante inférieur à 1, c'est-à-dire, par exemple, 0,7450851357961866
La fonction Floor() arrondit la valeur entre parenthèses à l'entier le plus proche qui est inférieur supérieur ou égal à celui-ci et affiche le résultat. Par exemple, le résultat de rand() ci-dessus est 0,7450851357961866, alors l'entier maximum est "0", donc :
select floor(rand(0)) from qs_ad_category La valeur du résultat est "0".
S'il s'agit de rand()*2, le résultat rand() peut être supérieur à 1. Ensuite, combiné avec la fonction floor(), la valeur finale peut être 1
select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables
4 Injection d'erreur basée sur floor(). function
4.1 Composants de l'injection d'erreur
floor() Pour être précis, l'injection d'erreur doit être floor, count, group by conflict error, count(*), rand(), group by sont indispensables
4.2 Analyse des composants de injection d'erreur
fonction count() : fonction de comptage, une fonction utilisée pour calculer la somme des données. Cette fonction n'a qu'un seul ensemble de résultats.
fonction floor() + fonction rand() : obtenez la valeur entière de 0 ou 1
fonction group by : lors du regroupement de données, elle vérifiera d'abord si la valeur existe dans la table virtuelle, et l'insérera si ce n'est pas le cas existe ; s'il existe, count () plus 1, floor(rand(0)2) sera exécuté une fois lors de l'utilisation de group by S'il n'y a aucun enregistrement dans la table virtuelle, il sera à nouveau exécuté lors de l'insertion dans la table virtuelle.
4.3 Affichage des erreurs d'injection
使用报错获取当前用户信息 select count(*),concat(user(),floor(rand(0)*2))x from information_schema.tables group by x
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Compétences de traitement de structures de données volumineuses de PHP

Comment optimiser les performances des requêtes MySQL en PHP ?

Comment utiliser la sauvegarde et la restauration MySQL en PHP ?

Quels sont les scénarios d'application des types d'énumération Java dans les bases de données ?

Comment insérer des données dans une table MySQL en utilisant PHP ?

Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4

Comment utiliser les procédures stockées MySQL en PHP ?

Stratégies d'optimisation des performances pour la pagination des tableaux PHP
