]> granicus.if.org Git - php/commitdiff
Add simple tests for insert through PDO::prepare/PDOStatement::execute.
authorDan Scott <dbs@php.net>
Tue, 8 Mar 2005 18:12:22 +0000 (18:12 +0000)
committerDan Scott <dbs@php.net>
Tue, 8 Mar 2005 18:12:22 +0000 (18:12 +0000)
Tests both question mark placeholders and named parameters.

ext/pdo/tests/pdo_021.inc [new file with mode: 0755]
ext/pdo_odbc/tests/pdo_021.phpt [new file with mode: 0755]

diff --git a/ext/pdo/tests/pdo_021.inc b/ext/pdo/tests/pdo_021.inc
new file mode 100755 (executable)
index 0000000..48489f5
--- /dev/null
@@ -0,0 +1,42 @@
+<?php # vim:ft=php
+
+require_once('pdo.inc');
+
+set_sql('create1',  'CREATE TABLE test(id INT NOT NULL PRIMARY KEY, val VARCHAR(10), val2 VARCHAR(16))');
+set_sql('insert1', "INSERT INTO test VALUES(?, ?, ?)"); 
+set_sql('insert2', "INSERT INTO test VALUES(:first, :second, :third)"); 
+set_sql('select',  'SELECT COUNT(*) FROM test');
+
+$data = array(
+    array('10', 'Abc', 'zxy'),
+    array('20', 'Def', 'wvu'),
+    array('30', 'Ghi', 'tsr'),
+    array('40', 'Jkl', 'qpo'),
+    array('50', 'Mno', 'nml'),
+    array('60', 'Pqr', 'kji'),
+);
+
+$DB->exec($SQL['create1']);
+
+// Insert using question mark placeholders
+$stmt = $DB->prepare($SQL['insert1']);
+foreach ($data as $row) {
+    $stmt->execute($row);
+}
+
+$select = $DB->query($SQL['select']);
+$num = $select->fetchSingle();
+echo 'There are ' . $num . " rows in the table.\n";
+
+// Insert using named parameters
+$stmt2 = $DB->prepare($SQL['insert2']);
+foreach ($data as $row) {
+    $stmt2->execute(array(':first'=>($row[0] + 5), ':second'=>$row[1], 
+        ':third'=>$row[2]));
+}
+
+$select = $DB->query($SQL['select']);
+$num = $select->fetchSingle();
+echo 'There are ' . $num . " rows in the table.\n";
+
+?>
diff --git a/ext/pdo_odbc/tests/pdo_021.phpt b/ext/pdo_odbc/tests/pdo_021.phpt
new file mode 100755 (executable)
index 0000000..08a2631
--- /dev/null
@@ -0,0 +1,20 @@
+--TEST--
+PDO_ODBC: PDOStatement::execute with parameter markers.
+--SKIPIF--
+<?php # vim:ft=php
+require_once('skipif.inc'); ?>
+--FILE--
+<?php
+
+require_once('connection.inc');
+require_once('prepare.inc');
+
+require_once($PDO_TESTS . 'pdo_021.inc');
+
+?>
+===DONE===
+<?php exit(0); ?>
+--EXPECT--
+There are 6 rows in the table.
+There are 12 rows in the table.
+===DONE===