Query: examples-with-pdo_4d
OS: php
Section: 3
Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar
EXAMPLES-WITH-PDO_4D(3) 1 EXAMPLES-WITH-PDO_4D(3) Examples with PDO_4D - Examples PDO_4D This basic example show how to connect, execute a query, read data and disconnect from a 4D SQL server. Example #1 Basic example with PDO_4D <?php $dsn = '4D:host=localhost;charset=UTF-8'; $user = 'test'; $pass = 'test'; // Connection to the 4D SQL server $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); ?> The above example will output: 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 ) ) This example shows how to execute a query in 4D language, and how to read the result through PDO_4D. Example #2 Accessing 4D language from pdo_4d Set up a 4D method, called method. Make sure in the method properties that the option Available via SQL is checked. The 4D code is the following. C_TEXTE($0) $0:=Version application(*); The PHP code to use the above 4D method is : <?php $dsn = '4D:host=localhost;charset=UTF-8'; $user = 'test'; $pass = 'test'; // Connection to the 4D server $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); ?> The above example will output: ( [0] => Array ( [<expression>] => F0011140 [0] => F0011140 ) ) Example #3 Escaping 4D table names This examples illustrates how to escape characters in a 4D SQL query. <?php $dsn = '4D:host=localhost;charset=UTF-8'; $user = 'test'; $pass = 'test'; // Connection to 4D server 4D $db = new PDO($dsn, $user, $pass); $objects = array('[',']','[]','][','[[',']]','[[[',']]]','TBL ]]32[23'); foreach($objects as $id => $object) { $object = str_replace(']',']]', $object); print "$object "; $db->exec('CREATE TABLE IF NOT EXISTS ['.$object.'](['.$object.'] FLOAT)'); $req = "INSERT INTO [$object] ([$object]) VALUES ($id);"; $db->query($req); $q = $db->prepare("SELECT [$object] FROM [$object]"); $q->execute(); $x[] = $q->fetch(PDO::FETCH_NUM); $db->exec('DROP TABLE ['.$object.'];'); } ?> The above example will output: [ ]] []] ]][ [[ ]]]] [[[ ]]]]]] TBL ]]]]32[23 PHP Documentation Group EXAMPLES-WITH-PDO_4D(3)