Rechercher une fonction PHP

Exemples PDO_4D

(No version information available, might only be in Git)

Exemples PDO_4DExemples PDO_4D

Ce premier exemple montre comment se connecter, exécuter une requête SQL, lire les informations obtenues et se déconnecter d'une base de données 4D.

Exemple #1 Exemple de présentation de l'extension PDO_4D

<?php
$dsn 
'4D:host=localhost;charset=UTF-8';
$user 'test';
$pass 'test';

// Connexion au serveur 4D
$db = new PDO($dsn$user$pass);

try {
    
$db->exec('CREATE TABLE test(id varCHAR(1) NOT NULL, val VARCHAR(10))');
} catch (
PDOException $e) {
    die(
"Erreur 4D : " $e->getMessage());
}
        
$db->exec("INSERT INTO test VALUES('A', 'B')");
$db->exec("INSERT INTO test VALUES('C', 'D')");
$db->exec("INSERT INTO test VALUES('E', 'F')");

$stmt $db->prepare('SELECT id, val from test');

$stmt->execute();
print_r($stmt->fetchAll());

unset(
$stmt);
unset(
$db);
?>

L'exemple ci-dessus va afficher :

    Array
(
    [0] => Array
        (
            [ID] => A
            [0] => A
            [VAL] => B
            [1] => B
        )

    [1] => Array
        (
            [ID] => C
            [0] => C
            [VAL] => D
            [1] => D
        )

    [2] => Array
        (
            [ID] => E
            [0] => E
            [VAL] => F
            [1] => F
        )

)

Ce deuxième exemple montre comment exécuter une commande en langage 4D, et obtenir le résultat en PDO_4D.

Exemple #2 Exemple d'exécution de langage 4D depuis pdo_4d

Créer une méthode 4D, de nom method. Dans les propriétés de la méthode, assurez-vous que l'option Disponible via SQL est active. Le code de la méthode est disponible ci-dessous.

C_TEXT($0)
$0:=Application Version(*)

Le code PHP pour accéder à cette méthode 4D est le suivant :

<?php
$dsn 
'4D:host=localhost;charset=UTF-8';
$user 'test';
$pass 'test';

// Connexion et sélection de la base
$db = new PDO($dsn$user$pass);

$stmt $db->prepare('SELECT {FN method() AS VARCHAR } FROM _USER_SCHEMAS LIMIT 1');

$stmt->execute();
print_r($stmt->fetchAll());

unset(
$stmt);
unset(
$db);
?>

L'exemple ci-dessus va afficher :

(
    [0] => Array
        (
            [<expression>] => F0011140
            [0] => F0011140
        )

)

Exemple #3 Protection des noms de tables spéciaux

Cet exemple montre comment protéger un nom de table ou de colonnes avec les crochets de 4D.

<?php
$dsn 
'4D:host=localhost;charset=UTF-8';
$user 'test';
$pass 'test';
 
// Connexion au serveur 4D
$db = new PDO($dsn$user$pass);

$objets = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23');

foreach(
$objets as $id => $objet) {
    
$objet str_replace(']',']]'$objet);
    print 
"$objet\n";
    
    
$db->exec('CREATE TABLE IF NOT EXISTS ['.$objet.'](['.$objet.'] FLOAT)');

    
$req "INSERT INTO [$objet] ([$objet]) VALUES ($id);";
    
$db->query($req);

    
$q $db->prepare("SELECT [$objet] FROM [$objet]");
    
$q->execute();
    
$x[] = $q->fetch(PDO::FETCH_NUM);

    
$db->exec('DROP TABLE ['.$objet.'];');
}

?>

L'exemple ci-dessus va afficher :

[
]]
[]]
]][
[[
]]]]
[[[
]]]]]]
TBL ]]]]32[23

Rechercher une fonction PHP

Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-pdo-4d.examples.html

L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.

Références

  1. Consulter le document html Langue du document :fr Manuel PHP : http://php.net

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

Table des matières Haut