Bonjour,
Ce bout de code consiste à insérer 20 lignes dans une table client (NUM : integer auto incremente, Nom: varchar(20)) avec des noms different C1,C2,C3......C20
je n'arrive pas à exécuter un excecute block dans un fichier PHP alors que la même requête s’exécute très bien ailleurs ,

le problème réside dans le parametre :N , puisque j'ai essayé de le replacer avec une valeur 'ESSAI' par exemple , il insert bien 20 lignes avec comme nom ESSAI

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
 
<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: PUT, GET, POST, DELETE");
header("Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept"); 
 
 
$success = false;
$data = array();
$host='c:/clients.fdb';
$user='SYSDBA';
$pas='masterkey';
 
 
 
 $dbh = new PDO("firebird:dbname=$host;charset=UTF-8",$user,$pas);
 $sql1 = " 

         execute block as
           declare variable I INTEGER;
           declare variable N varchar(20);
        begin 
         I=0;
         N=I;
        while (I <20)
          DO begin
                  I=I+1;
                  N=I;
                  insert into client (NOM) VALUES ('C'||:N);
             end

 END";
 
 
 $req1  =  $dbh->prepare($sql1);
if($req1){
         $confirm = $req1 -> execute();
 
          if($confirm){
                $array['success'] = true;
                $array['msg'] = "Les clients  ont bien été ajouté "; 
          }else{
               $array['success'] = false;
               $array['msg'] = "Une erreur d'ajout s'est produite !  ";
          }
   }else{
       $array['success'] = false;
       $array['msg'] = "Impossible d'ajouter ces clients !! ";   
   }
  echo json_encode($array);
 
 $sql2 = "SELECT nom FROM client";
 
$req2 = $dbh->query($sql2);
 if($req2){
     $resultats2 = $req2->fetchAll(PDO::FETCH_ASSOC);//obligatoires pour $count
     $array['success'] = true;
      $array['msg'] = "VOICI LA LISTE "; 
     $array['return'] = $resultats2;
 
 }else{
      $array['success'] = false;
      $array['msg'] = "Erreur (1) de requete SQL  ! ";
 }
 
 
 
echo json_encode($array);

Merci