mirror of
https://github.com/php/php-src.git
synced 2024-11-26 11:23:47 +08:00
92 lines
2.3 KiB
PHP
92 lines
2.3 KiB
PHP
<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>
|