[12] | 1 | <?php
|
---|
| 2 |
|
---|
| 3 | /**
|
---|
| 4 | * @version V4.93 10 Oct 2006 (c) 2000-2007 John Lim (jlim#natsoft.com.my). All rights reserved.
|
---|
| 5 | * Released under both BSD license and Lesser GPL library license.
|
---|
| 6 | Whenever there is any discrepancy between the two licenses,
|
---|
| 7 | the BSD license will take precedence.
|
---|
| 8 | */
|
---|
| 9 |
|
---|
| 10 | /* Documentation on usage is at http://php.weblogs.com/adodb_csv
|
---|
| 11 | *
|
---|
| 12 | * Legal query string parameters:
|
---|
| 13 | *
|
---|
| 14 | * sql = holds sql string
|
---|
| 15 | * nrows = number of rows to return
|
---|
| 16 | * offset = skip offset rows of data
|
---|
| 17 | * fetch = $ADODB_FETCH_MODE
|
---|
| 18 | *
|
---|
| 19 | * example:
|
---|
| 20 | *
|
---|
| 21 | * http://localhost/php/server.php?select+*+from+table&nrows=10&offset=2
|
---|
| 22 | */
|
---|
| 23 |
|
---|
| 24 |
|
---|
| 25 | /*
|
---|
| 26 | * Define the IP address you want to accept requests from
|
---|
| 27 | * as a security measure. If blank we accept anyone promisciously!
|
---|
| 28 | */
|
---|
| 29 | $ACCEPTIP = '127.0.0.1';
|
---|
| 30 |
|
---|
| 31 | /*
|
---|
| 32 | * Connection parameters
|
---|
| 33 | */
|
---|
| 34 | $driver = 'mysql';
|
---|
| 35 | $host = 'localhost'; // DSN for odbc
|
---|
| 36 | $uid = 'root';
|
---|
| 37 | $pwd = 'garbase-it-is';
|
---|
| 38 | $database = 'test';
|
---|
| 39 |
|
---|
| 40 | /*============================ DO NOT MODIFY BELOW HERE =================================*/
|
---|
| 41 | // $sep must match csv2rs() in adodb.inc.php
|
---|
| 42 | $sep = ' :::: ';
|
---|
| 43 |
|
---|
| 44 | include('./adodb.inc.php');
|
---|
| 45 | include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
|
---|
| 46 |
|
---|
| 47 | function err($s)
|
---|
| 48 | {
|
---|
| 49 | die('**** '.$s.' ');
|
---|
| 50 | }
|
---|
| 51 |
|
---|
| 52 | // undo stupid magic quotes
|
---|
| 53 | function undomq(&$m)
|
---|
| 54 | {
|
---|
| 55 | if (get_magic_quotes_gpc()) {
|
---|
| 56 | // undo the damage
|
---|
| 57 | $m = str_replace('\\\\','\\',$m);
|
---|
| 58 | $m = str_replace('\"','"',$m);
|
---|
| 59 | $m = str_replace('\\\'','\'',$m);
|
---|
| 60 |
|
---|
| 61 | }
|
---|
| 62 | return $m;
|
---|
| 63 | }
|
---|
| 64 |
|
---|
| 65 | ///////////////////////////////////////// DEFINITIONS
|
---|
| 66 |
|
---|
| 67 |
|
---|
| 68 | $remote = $_SERVER["REMOTE_ADDR"];
|
---|
| 69 |
|
---|
| 70 |
|
---|
| 71 | if (!empty($ACCEPTIP))
|
---|
| 72 | if ($remote != '127.0.0.1' && $remote != $ACCEPTIP)
|
---|
| 73 | err("Unauthorised client: '$remote'");
|
---|
| 74 |
|
---|
| 75 |
|
---|
| 76 | if (empty($_REQUEST['sql'])) err('No SQL');
|
---|
| 77 |
|
---|
| 78 |
|
---|
| 79 | $conn = &ADONewConnection($driver);
|
---|
| 80 |
|
---|
| 81 | if (!$conn->Connect($host,$uid,$pwd,$database)) err($conn->ErrorNo(). $sep . $conn->ErrorMsg());
|
---|
| 82 | $sql = undomq($_REQUEST['sql']);
|
---|
| 83 |
|
---|
| 84 | if (isset($_REQUEST['fetch']))
|
---|
| 85 | $ADODB_FETCH_MODE = $_REQUEST['fetch'];
|
---|
| 86 |
|
---|
| 87 | if (isset($_REQUEST['nrows'])) {
|
---|
| 88 | $nrows = $_REQUEST['nrows'];
|
---|
| 89 | $offset = isset($_REQUEST['offset']) ? $_REQUEST['offset'] : -1;
|
---|
| 90 | $rs = $conn->SelectLimit($sql,$nrows,$offset);
|
---|
| 91 | } else
|
---|
| 92 | $rs = $conn->Execute($sql);
|
---|
| 93 | if ($rs){
|
---|
| 94 | //$rs->timeToLive = 1;
|
---|
| 95 | echo _rs2serialize($rs,$conn,$sql);
|
---|
| 96 | $rs->Close();
|
---|
| 97 | } else
|
---|
| 98 | err($conn->ErrorNo(). $sep .$conn->ErrorMsg());
|
---|
| 99 |
|
---|
| 100 | ?> |
---|