summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorAndreas Karajannis <kara@php.net>2000-05-28 12:50:19 +0000
committerAndreas Karajannis <kara@php.net>2000-05-28 12:50:19 +0000
commit1e949e6caa61f6a0c33ae5241056007226108021 (patch)
treebc38f0c690bd0fe3ca1f5e94ccc044258b529cae /tests
parente50b33c2402d53fc7b1ead9444e09d420d0c7b7c (diff)
downloadphp-git-1e949e6caa61f6a0c33ae5241056007226108021.tar.gz
Test scripts for ODBC added
Diffstat (limited to 'tests')
-rw-r--r--tests/odbc-display.php19
-rw-r--r--tests/odbc-t1.php38
-rw-r--r--tests/odbc-t2.php82
-rw-r--r--tests/odbc-t3.php95
-rw-r--r--tests/odbc-t4.php91
-rw-r--r--tests/odbc-t5.php137
6 files changed, 462 insertions, 0 deletions
diff --git a/tests/odbc-display.php b/tests/odbc-display.php
new file mode 100644
index 0000000000..f79a854aea
--- /dev/null
+++ b/tests/odbc-display.php
@@ -0,0 +1,19 @@
+<?php
+ if(($conn = odbc_connect($dsn, $dbuser, $dbpwd))){
+ if(($res = odbc_do($conn, "select gif from php_test where id='$id'"))){
+ odbc_binmode($res, 0);
+ odbc_longreadlen($res, 0);
+ if(odbc_fetch_row($res)){
+ header("content-type: image/gif");
+ odbc_result($res, 1);
+ exit;
+ }else{
+ echo "Error in odbc_fetch_row";
+ }
+ } else {
+ echo "Error in odbc_do";
+ }
+ } else {
+ echo "Error in odbc_connect";
+ }
+?>
diff --git a/tests/odbc-t1.php b/tests/odbc-t1.php
new file mode 100644
index 0000000000..90cb97910f
--- /dev/null
+++ b/tests/odbc-t1.php
@@ -0,0 +1,38 @@
+<HTML>
+<HEAD>
+<TITLE>Quick &amp; dirty ODBC test</TITLE>
+</HEAD>
+<BODY>
+<H1>ODBC Test 1 - Connection</H1>
+<?php
+ if(isset($dbuser)){
+ echo "Connecting to $dsn as $dbuser\n<P>";
+ $conn = odbc_connect($dsn,$dbuser,$dbpwd);
+ if(!$conn){
+?>
+<H2>Error connecting to database! Check DSN, username and password</H2>
+<?php
+ }else{
+?>
+<H2>Connection successful</H2>
+<A HREF="odbc-t2.php<?php echo "?dbuser=$dbuser&dsn=$dsn&dbpwd=$dbpwd" ?>">Proceed to next test</A>
+| <A HREF="<?php echo $PHP_SELF ?>">Change login information</A>
+<?php
+ }
+} else {
+?>
+<EM>You will need permisson to create tables for the following tests!</EM>
+<form action=odbc-t1.php method=post>
+<table border=0>
+<tr><td>Database (DSN): </td><td><input type=text name=dsn></td></tr>
+<tr><td>User: </td><td><input type=text name=dbuser></td></tr>
+<tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
+</table>
+<br>
+<input type=submit value=connect>
+
+</form>
+<?php
+} ?>
+</BODY>
+</HTML>
diff --git a/tests/odbc-t2.php b/tests/odbc-t2.php
new file mode 100644
index 0000000000..a500b09e8b
--- /dev/null
+++ b/tests/odbc-t2.php
@@ -0,0 +1,82 @@
+<HTML>
+<HEAD>
+<TITLE>Quick &amp; dirty ODBC test #2</TITLE>
+</HEAD>
+<BODY>
+<H1>ODBC Test 2 - Create table</H1>
+<?php
+ if(isset($dbuser)){
+ echo "Connecting to $dsn as $dbuser\n";
+ $conn = odbc_connect($dsn,$dbuser,$dbpwd);
+ if(!$conn){
+?>
+<H2>Error connecting to database! Check DSN, username and password</H2>
+<?php
+ }else{
+?>
+- OK<p>
+Dropping table "php3_test"
+<?php
+ Error_Reporting(0);
+ $res = odbc_exec($conn,"drop table php_test");
+ if($res){
+ odbc_free_result($res);
+ }
+?>
+- OK<p>
+Create table "php_test"
+<?php
+ error_reporting(1);
+ $res = odbc_exec($conn, 'create table php_test (a char(16), b integer, c float, d varchar(128))');
+ if($res){
+ odbc_free_result($res);
+?>
+ - OK<p>
+Table Info:<br>
+<table>
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Length</th>
+ </tr>
+<?php
+ $info = odbc_exec($conn,"select * from php_test");
+ $numfields = odbc_num_fields($info);
+
+ for($i=1; $i<=$numfields; $i++){
+?>
+ <tr>
+ <td><?php echo odbc_field_name($info, $i) ?></td>
+ <td><?php echo odbc_field_type($info, $i) ?></td>
+ <td><?php echo odbc_field_len($info,$i) ?></td>
+ </tr>
+<?php
+ }
+?>
+</table>
+<P>
+<HR width=50%">
+<P>
+<A HREF="odbc-t3.php<?php echo "?dbuser=$dbuser&dsn=$dsn&dbpwd=$dbpwd" ?>">Proceed to next test</A>
+| <A HREF="<?php echo $PHP_SELF; ?>">Change login information</A>
+
+<?php
+ }
+ }
+ } else {
+?>
+
+<form action="odbc-t3.php" method=post>
+<table border=0>
+<tr><td>Database (DSN): </td><td><input type=text name=dsn></td></tr>
+<tr><td>User: </td><td><input type=text name=dbuser></td></tr>
+<tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
+</table>
+<input type=submit value="Continue">
+</form>
+
+<?php
+ }
+?>
+</BODY>
+</HTML>
diff --git a/tests/odbc-t3.php b/tests/odbc-t3.php
new file mode 100644
index 0000000000..edfdc658f8
--- /dev/null
+++ b/tests/odbc-t3.php
@@ -0,0 +1,95 @@
+<HTML>
+<HEAD>
+<TITLE>Database test #3</TITLE>
+</HEAD>
+<BODY>
+<H1>ODBC Test 3 - Insert records</H1>
+<?php
+ if(isset($dbuser)){
+ echo "Connecting to $dsn as $dbuser\n";
+ $conn = odbc_connect($dsn,$dbuser,$dbpwd);
+ if(!$conn){
+?>
+<H2>Error connecting to database! Check DSN, username and password</H2>
+<?php
+ }else{
+?>
+ - OK<p>
+Clearing table "php_test"
+<?php
+ error_reporting(0);
+ $res=odbc_exec($conn,"delete from php_test");
+ odbc_free_result($res);
+ error_reporting(1);
+?>
+ - OK<p>
+Inserting into table "php_test"
+<?php
+ $sqlfloat = '00.0';
+ $sqlint = 1000;
+ $stmt = odbc_prepare($conn, "insert into php_test values(?,?,?,?)");
+ for($i=1; $i<=5; $i++){
+ $values[0] = "test-$i";
+ $values[1] = $sqlint + $i;
+ $values[2] = $i . $sqlfloat . $i;
+ $values[3] = "php - values $i";
+ $ret = odbc_execute($stmt, &$values);
+ }
+ odbc_free_result($stmt);
+ $res = odbc_exec($conn, "select count(*) from php_test");
+ if($res && (odbc_result($res, 1) == 5)){
+ odbc_free_result($res);
+?>
+ - OK<p>
+<H3>The table "php_test" should now contain the following values:</H3>
+<table>
+ <tr>
+ <th>A</th><th>B</th><th>C</th><th>D</th>
+ </tr>
+ <tr>
+ <td>test-1</td><td>1001</td><td>100.01</td><td>php - values 1</td>
+ </tr>
+ <tr>
+ <td>test-2</td><td>1002</td><td>200.02</td><td>php - values 2</td>
+ </tr>
+ <tr>
+ <td>test-3</td><td>1003</td><td>300.03</td><td>php - values 3</td>
+ </tr>
+ <tr>
+ <td>test-4</td><td>1004</td><td>400.04</td><td>php - values 4</td>
+ </tr>
+ <tr>
+ <td>test-5</td><td>1005</td><td>500.05</td><td>php - values 5</td>
+ </tr>
+</table>
+
+<H3>Actual contents of table "php_test":</H3>
+<?php
+ $res = odbc_exec($conn, "select * from php_test");
+ odbc_result_all($res);
+ }
+?>
+<p>
+ <HR width="50%">
+<p>
+<A HREF="odbc-t4.php?dbuser=<?php echo "$dbuser&dsn=$dsn&dbpwd=$dbpwd" ?>">Proceed to next test</A>
+| <A HREF="<?php echo $PHP_SELF ?>">Change login information</A>
+<?php
+ }
+ } else {
+?>
+<form action=odbc-t3.php method=post>
+<table border=0>
+ <tr><td>Database: </td><td><input type=text name=dsn></td></tr>
+ <tr><td>User: </td><td><input type=text name=dbuser></td></tr>
+ <tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
+</table>
+<input type=submit value=connect>
+
+</form>
+<?php
+ }
+?>
+</BODY>
+</HTML>
+
diff --git a/tests/odbc-t4.php b/tests/odbc-t4.php
new file mode 100644
index 0000000000..10e8f4b2d9
--- /dev/null
+++ b/tests/odbc-t4.php
@@ -0,0 +1,91 @@
+<HTML>
+<HEAD>
+<TITLE>Database test #4</TITLE>
+</HEAD>
+<BODY>
+<H1>ODBC Test 4 - Cursors</H1>
+<em>The following test requires your ODBC driver to support positioned updates</em><p>
+<?php
+ if(isset($dbuser)){
+ echo "Connecting to $dsn as $dbuser\n";
+ $conn = odbc_connect($dsn,$dbuser,$dbpwd);
+ if(!$conn){
+?>
+<H2>Error connecting to database! Check DSN, username and password</H2>
+<?php
+ }else{
+?>
+ - OK<p>
+Updating table "php_test"
+<?php
+ odbc_autocommit($conn, 0);
+ if(($result = odbc_do($conn, 'select * from php_test where b>1002 for update'))){
+ $cursor = odbc_cursor($result);
+ if(($upd = odbc_prepare($conn,"update php_test set a=?, b=? where current of $cursor"))){
+ while(odbc_fetch_row($result)) {
+ $params[0] = odbc_result($result, 1) . "(*)";
+ $params[1] = odbc_result($result, 2) + 2000;
+ odbc_execute($upd, $params);
+ }
+ odbc_commit($conn);
+ }
+ }
+ if($result && $upd){
+?>
+ - OK<p>
+<H3>The table "php_test" should now contain the following values:</H3>
+<table>
+ <tr>
+ <th>A</th><th>B</th><th>C</th><th>D</th>
+ </tr>
+ <tr>
+ <td>test-1</td><td>1001</td><td>100.01</td><td>php3 - values 1</td>
+ </tr>
+ <tr>
+ <td>test-2</td><td>1002</td><td>200.02</td><td>php - values 2</td>
+ </tr>
+ <tr>
+ <td>test-3(*)</td><td>3003</td><td>300.03</td><td>php - values 3</td>
+ </tr>
+ <tr>
+ <td>test-4(*)</td><td>3004</td><td>400.04</td><td>php - values 4</td>
+ </tr>
+ <tr>
+ <td>test-5(*)</td><td>3005</td><td>500.05</td><td>php - values 5</td>
+ </tr>
+ <tr>
+ <td colspan=4>
+ <small><em><strong>Note:</strong> If you reload this testpage,<br>
+ the three last rows will contain different<br>values in columns A and B</em></small>
+ </td>
+ </tr>
+</table>
+
+<H3>Actual contents of table "php_test":</H3>
+<?php
+ $res = odbc_exec($conn,"select * from php_test");
+ odbc_result_all($res);
+ }else{
+ echo "Your driver obviously doesn't support positioned updates\n<p>";
+ }
+?>
+<p><HR width="50%"><p>
+<A HREF="odbc-t5.php?dbuser=<?php echo "$dbuser&dsn=$dsn&dbpwd=$dbpwd"; ?>">Proceed to next test</A>
+<?php
+ }
+} else {
+?>
+<form action=odbc-t4.php method=post>
+<table border=0>
+<tr><td>Database: </td><td><input type=text name=dsn></td></tr>
+<tr><td>User: </td><td><input type=text name=dbuser></td></tr>
+<tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
+</table>
+<input type=submit value=connect>
+
+</form>
+<?php
+ }
+?>
+</BODY>
+</HTML>
diff --git a/tests/odbc-t5.php b/tests/odbc-t5.php
new file mode 100644
index 0000000000..13af52d222
--- /dev/null
+++ b/tests/odbc-t5.php
@@ -0,0 +1,137 @@
+<HTML>
+<HEAD>
+<TITLE>Database test #5</TITLE>
+</HEAD>
+<BODY>
+<H1>ODBC Test 5 - Blobs</H1>
+<?php
+ if(!isset($gif1file) && !isset($display) ||
+ ($gif1file == "none" && $gif2file == "none"
+ && $gif3file == "none")){
+?>
+<H2>Please select the images (gif) you want to put into the database</H2>
+<FORM METHOD="POST" ACTION="<?php echo $PHP_SELF ?>" ENCTYPE="multipart/form-data">
+Image 1: <INPUT TYPE="file" NAME="gif1file" VALUE="" SIZE="48"><P>
+Image 2: <INPUT TYPE="file" NAME="gif2file" VALUE="" SIZE="48"><P>
+Image 3: <INPUT TYPE="file" NAME="gif3file" VALUE="" SIZE="48"><P>
+Blob database type name: <INPUT TYPE="text" NAME="datatype" VALUE="LONG BYTE" SIZE="32">
+<P>
+<INPUT TYPE="hidden" name="dsn" value="<?php echo $dsn ?>">
+<INPUT TYPE="hidden" name="dbuser" value="<?php echo $dbuser ?>">
+<INPUT TYPE="hidden" name="dbpwd" value="<?php echo $dbpwd ?>">
+<INPUT TYPE="submit" VALUE="Send File(s)">
+| <INPUT TYPE="reset" VALUE="reset">
+</FORM>
+</BODY>
+</HTML>
+<?php
+ exit;
+ }
+
+ if(isset($dbuser)){
+ echo "Connecting to $dsn as $dbuser\n";
+ $conn = odbc_connect($dsn, $dbuser, $dbpwd);
+ if(!$conn){
+?>
+<H2>Error connecting to database! Check DSN, username and password</H2>
+<?php
+ }else{
+?>
+ - OK<p>
+<?php
+ if(isset($display)){
+ if(($res = odbc_exec($conn, 'select id from php_test'))){
+ echo "<H3>Images in database</H3>";
+ while(odbc_fetch_into($res, &$imgs)){
+ echo "$imgs[0] : <IMG SRC=\"odbc-display.php?id=$imgs[0]&dbuser=$dbuser&dsn=$dsn&dbpwd=$dbpwd\">\n<P>";
+ }
+ }else{
+ echo "Couldn't execute query";
+ }
+ echo "\n</BODY>\n</HTML>";
+ exit;
+ }
+?>
+Dropping table "php_test"
+<?php
+ Error_Reporting(0);
+ $res = odbc_exec($conn, "drop table php_test");
+ if($res){
+ odbc_free_result($res);
+ }
+?>
+ - OK<p>
+Creating table "php_test":
+<?php
+ $res = odbc_exec($conn, "create table php_test (id char(32), gif $datatype)");
+ if($res){
+ odbc_free_result($res);
+?>
+ - OK<p>
+Table Info:<br>
+<table>
+ <tr>
+ <th>Name</th>
+ <th>Type</th>
+ <th>Length</th>
+ </tr>
+<?php
+ $info = odbc_exec($conn,"select * from php_test");
+ $numfields = odbc_num_fields($info);
+
+ for($i=1; $i<=$numfields; $i++){
+?>
+ <tr>
+ <td><?php echo odbc_field_name($info, $i) ?></td>
+ <td><?php echo odbc_field_type($info, $i) ?></td>
+ <td><?php echo odbc_field_len($info,$i) ?></td>
+ </tr>
+<?php
+ }
+ odbc_free_result($info);
+?>
+</table>
+
+Inserting data:
+<?php
+ echo "$gif1file - $gif2file - $gif3file";
+
+ odbc_free_result($res);
+ $res = odbc_prepare($conn, "insert into php_test values(?,?)");
+ if($gif1file != "none"){
+ $params[0] = "image1";
+ $params[1] = "'$gif1file'";
+ odbc_execute($res, $params);
+ }
+ if($gif2file != "none"){
+ $params[0] = "image2";
+ $params[1] = "'$gif2file'";
+ odbc_execute($res, $params);
+ }
+ if($gif3file != "none"){
+ $params[0] = "image3";
+ $params[1] = "'$gif3file'";
+ odbc_execute($res, $params);
+ }
+?>
+ - OK<P>
+<A HREF="<?php echo "$PHP_SELF?display=y&dbuser=$dbuser&dsn=$dsn&dbpwd=$dbpwd" ?>">Display Images</A>
+<?php
+ }
+ }
+ } else {
+?>
+<form action=odbc-t5.php method=post>
+<table border=0>
+<tr><td>Database: </td><td><input type=text name=dsn></td></tr>
+<tr><td>User: </td><td><input type=text name=dbuser></td></tr>
+<tr><td>Password: </td><td><input type=password name=dbpwd></td></tr>
+</table>
+<input type=submit value=connect>
+
+</form>
+<?php
+ }
+?>
+</BODY>
+</HTML>