PHP MSSQL Query qui fonctionne pas toujours

PHP MSSQL Query qui fonctionne pas toujours - PHP - Programmation

Marsh Posté le 14-10-2016 à 11:25:45    

Hello a tous
 
Je m arrache un peu les cheuveux avec une query inserant un paquet variable de lignes dans une bdd. Un coup elle fonctionne pas, puis en faisant un F5 ou en retentant elle marche a nouveau, de facon aleatoire, et sans que je n ai abosulement rien change. En copiant la requete dans dans MSSQL directement elle fonctionne sans soucis. J ai aucune idee d ou peut venir le probleme
 
 
voici mon code actuel , normalement j utilise du prepare mais ici j ai encore le query directement :
 

Code :
  1. function Insertblabla{
  2. ....
  3. $res=$this->connection->query("Insert into [dbo].[r_pixel_software_version]
  4. ([user],[software_version_id],[attribute_set_id],[pixel_id])
  5.       SELECT '".$user."',".$software_version_id.",".$attribute_set_id.", p.[id] FROM [dbo].[pixel] p WHERE p.[id] not in (
  6.                                                             SELECT [pixel_id] FROM [dbo].[r_pixel_software_version] WHERE [software_version_id]=".$software_version_id." )
  7.                                                  AND p.[section_new] != '' AND p.[family_id]=".$family_id.";", SQLSRV_FETCH_ASSOC);
  8. if(!$res or $res->rowCount()==0) { return false;} else{return true;}
  9. }


 
 
Meme si la requete n a pas vraiment marche, il me retourne toujours true  :??:


Message édité par Neon67 le 14-10-2016 à 11:26:51
Reply

Marsh Posté le 14-10-2016 à 11:25:45   

Reply

Marsh Posté le 21-10-2016 à 09:39:11    

Dans le meme genre j ai cette query qui marche si copier directement en remplacant les valeurs, mais qui ici me retourne toujours vrai alors qu elle n a pas fonctionne, evidemment aucune erreur affichee. Je precise que je fais deux commandes insert a la chaine
 

Code :
  1. public function CopyPSVASet($idsvcopied,$idsvcopier,$user){
  2.         $idsvcopied = filter_var($idsvcopied, FILTER_SANITIZE_STRING);
  3.         $idsvcopier = filter_var($idsvcopier, FILTER_SANITIZE_STRING);
  4.         $user = filter_var($user, FILTER_SANITIZE_STRING);
  5.        
  6.        
  7.         $res=$this->connection->prepare("INSERT INTO [r_pixel_software_version_attribute]([r_pixel_software_version_id],[attribute_set_item_id],[value],[user])
  8.                   SELECT DISTINCT rpsv.[id], asi.[id],asi.[default_value], ?
  9.                   FROM [dbo].[r_pixel_software_version] rpsv, [dbo].[attribute_set] ast, [dbo].[attribute_set_item] asi, [dbo].[pixel] p
  10.                   WHERE rpsv.attribute_set_id= ast.id
  11.                   AND ast.id=asi.attribute_set_id
  12.                   AND p.id=rpsv.pixel_id
  13.                   AND p.family_id=ast.family_id   
  14.                   AND rpsv.software_version_id=?" );
  15.        
  16.         $res->execute(array($user,$idsvcopier));
  17.         if(!$res or $res->rowCount()==0) { return false;} else {return true;}
  18.        
  19.     }


Message édité par Neon67 le 21-10-2016 à 09:50:10
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed