2012-10-29 6 views
0

J'ai une requêtemysql enregistrement d'insertion si quelque chose> quelque chose d'autre

$query = "INSERT INTO `user` 
    (`fname`, 
    `lname`, 
    `email`, 
    `password`, 
    `permission`, 
    `idcustomer`) 
     VALUES 
    (
    '" . $firstname . "', 
    '" . $lastname . "', 
    '" . $email . "',    
    '" . $password . "', 
    'admin', 
    " . $idcustomer . " 
    );"; 

Maintenant, je dois execte cette requête est que le résultat de la requête ci-dessous est> 0:

select (number_of_users - (select count(*) from user where idcustomer=2)) availableUsers 
    from customer where idcustomer=2 
+1

j'utiliser une simple instruction if. Par exemple. Si result = 0, appelez la fonction qui exécute l'instruction SQL supérieure. Peut-être qu'il me manque quelque chose? – Ren

+0

Je ne comprends pas votre question ?????? –

Répondre

1

Juste utiliser un select au lieu de values(...):

$query = "INSERT INTO `user` 
    (`fname`, 
    `lname`, 
    `email`, 
    `password`, 
    `permission`, 
    `idcustomer`) 
    select 
    '" . $firstname . "', 
    '" . $lastname . "', 
    '" . $email . "',    
    '" . $password . "', 
    'admin', 
    " . $idcustomer . " 
    from customer 
    where idcustomer = 2 
      and (number_of_users - (select count(*) from user where idcustomer=2)) > 0 
    );"; 
Questions connexes