Calculer variable a valeur count dans requête update sql
Stelino
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Après avoir récupérer la valeur COUNT() dans une variable $count1 et de multiplier sa valeur par 19.90 dans la variable $counter1, je voudrais insérer cette nouvelle variable dans une requête update.
Voici un exemple de mon code avec une requête préparer:
$req1=$bdd->query('SELECT COUNT(id) AS id FROM entreprise WHERE cap >= 0 AND cap <= 999');
while($count1=$req1->fetch());
{
$counter1['id'] = $count1['id'] * 19.90;
$req=$bdd->prepare('UPDATE banque SET cap = cap + ?');
$req->execute(array($counter1['id']));
}
Définition du code:
Je commence par une requête de sélection qui va récupérer le nombre des entreprises ayant un capital (cap) compris entre 0 et 999.
Ensuite je fait une boucle en attribuant fetch() à ma requête pour l'assigner sur la variable $count1.
Ensuite j'assigne la variable $count1 x 19.90 (type float sur ma bdd) à la variable $counter1.
Pour finir, je fait ma requête update préparer:
"""Update dans banque (table) le champ cap (entrée) qui est égal à cap + ? ($counter1)"""
Et j'insère ma variable avec execute juste en dessou.
ça ne fonctionne pas, l'addition ne se fait pas.
Comment puis-je effectuer ce genre de calculs ?
Merci de m'éclairer, même si il s'agit d'une requête avec injections.
Après avoir récupérer la valeur COUNT() dans une variable $count1 et de multiplier sa valeur par 19.90 dans la variable $counter1, je voudrais insérer cette nouvelle variable dans une requête update.
Voici un exemple de mon code avec une requête préparer:
$req1=$bdd->query('SELECT COUNT(id) AS id FROM entreprise WHERE cap >= 0 AND cap <= 999');
while($count1=$req1->fetch());
{
$counter1['id'] = $count1['id'] * 19.90;
$req=$bdd->prepare('UPDATE banque SET cap = cap + ?');
$req->execute(array($counter1['id']));
}
Définition du code:
Je commence par une requête de sélection qui va récupérer le nombre des entreprises ayant un capital (cap) compris entre 0 et 999.
Ensuite je fait une boucle en attribuant fetch() à ma requête pour l'assigner sur la variable $count1.
Ensuite j'assigne la variable $count1 x 19.90 (type float sur ma bdd) à la variable $counter1.
Pour finir, je fait ma requête update préparer:
"""Update dans banque (table) le champ cap (entrée) qui est égal à cap + ? ($counter1)"""
Et j'insère ma variable avec execute juste en dessou.
ça ne fonctionne pas, l'addition ne se fait pas.
Comment puis-je effectuer ce genre de calculs ?
Merci de m'éclairer, même si il s'agit d'une requête avec injections.
A voir également:
- Calculer variable a valeur count dans requête update sql
- Comment calculer la moyenne sur excel - Guide
- Windows update bloqué - Guide
- Winget update - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Asus live update - Télécharger - Utilitaires
1 réponse
Bonjour,
Pour commencer, ta boucle while ne sert à rien, tu fais une requête count(), donc tu n'aura qu'un résultat. Mais passons, ce n'est pas le soucis.
Pour le débogage :
- met un print_r($count1) après ton fetch
- un echo $counter1['id']; après ta multiplication
- Sur phpmyadmin fait une requête test
Peut-tu me dire le résultat de tout ça ?
Pour commencer, ta boucle while ne sert à rien, tu fais une requête count(), donc tu n'aura qu'un résultat. Mais passons, ce n'est pas le soucis.
Pour le débogage :
- met un print_r($count1) après ton fetch
- un echo $counter1['id']; après ta multiplication
- Sur phpmyadmin fait une requête test
UPDATE banque SET cap = cap + 1
Peut-tu me dire le résultat de tout ça ?
while($count1=$req1->fetch());
{
$counter1['id'] = print_r($count1['id']) * 19.90;
$req=$bdd->exec('UPDATE banque SET cap = cap + "'.$counter1['id'].'" WHERE id = 1');
}