source: Dev/trunk/rdfapi/util/adodb/tests/test4.php @ 12

Last change on this file since 12 was 12, checked in by basvannuland, 14 years ago

Added RAP RDF API
Added RDF reader writer for save and load survey

File size: 4.7 KB
Line 
1<?php
2
3/**
4 * @version V4.50 6 July 2004 (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 * Set tabs to 4 for best viewing.
10 *
11 * Latest version is available at http://php.weblogs.com
12 *
13 * Test GetUpdateSQL and GetInsertSQL.
14 */
15 
16error_reporting(E_ALL);
17function testsql()
18{
19
20
21include('../adodb.inc.php');
22include('../tohtml.inc.php');
23
24global $ADODB_FORCE_TYPE;
25
26
27//==========================
28// This code tests an insert
29
30$sql = "
31SELECT *
32FROM ADOXYZ WHERE id = -1";
33// Select an empty record from the database
34
35
36#$conn = &ADONewConnection("mssql");  // create a connection
37#$conn->PConnect("", "sa", "natsoft", "northwind"); // connect to MySQL, testdb
38
39$conn = &ADONewConnection("mysql");  // create a connection
40$conn->PConnect("localhost", "root", "", "test"); // connect to MySQL, testdb
41
42
43#$conn =& ADONewConnection('oci8po');
44#$conn->Connect('','scott','natsoft');
45
46if (PHP_VERSION  >= 5) {
47        $connstr = "mysql:dbname=northwind";
48        $u = 'root';$p='';
49        $conn =& ADONewConnection('pdo');
50        $conn->Connect($connstr, $u, $p);
51}
52//$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
53
54
55$conn->debug=1;
56$conn->Execute("delete from adoxyz where lastname like 'Smi%'");
57
58$rs = $conn->Execute($sql); // Execute the query and get the empty recordset
59$record = array(); // Initialize an array to hold the record data to insert
60
61if (strpos($conn->databaseType,'mysql')===false) $record['id'] = 751;
62$record["firstname"] = 'Jann';
63$record["lastname"] = "Smitts";
64$record["created"] = time();
65
66$insertSQL = $conn->GetInsertSQL($rs, $record);
67$conn->Execute($insertSQL); // Insert the record into the database
68
69if (strpos($conn->databaseType,'mysql')===false) $record['id'] = 752;
70// Set the values for the fields in the record
71$record["firstname"] = 'anull';
72$record["lastname"] = "Smith\$@//";
73$record["created"] = time();
74
75if (isset($_GET['f'])) $ADODB_FORCE_TYPE = $_GET['f'];
76
77//$record["id"] = -1;
78
79// Pass the empty recordset and the array containing the data to insert
80// into the GetInsertSQL function. The function will process the data and return
81// a fully formatted insert sql statement.
82$insertSQL = $conn->GetInsertSQL($rs, $record);
83$conn->Execute($insertSQL); // Insert the record into the database
84
85
86
87$insertSQL2 = $conn->GetInsertSQL($table='ADOXYZ', $record);
88if ($insertSQL != $insertSQL2) echo "<p><b>Walt's new stuff failed</b>: $insertSQL2</p>";
89//==========================
90// This code tests an update
91
92$sql = "
93SELECT *
94FROM ADOXYZ WHERE lastname=".$conn->Param('var'). " ORDER BY 1";
95// Select a record to update
96
97$varr = array('var'=>$record['lastname'].'');
98$rs = $conn->Execute($sql,$varr); // Execute the query and get the existing record to update
99if (!$rs || $rs->EOF) print "<p><b>No record found!</b></p>";
100
101$record = array(); // Initialize an array to hold the record data to update
102
103
104// Set the values for the fields in the record
105$record["firstName"] = "Caroline".rand();
106//$record["lasTname"] = ""; // Update Caroline's lastname from Miranda to Smith
107$record["creAted"] = '2002-12-'.(rand()%30+1);
108$record['num'] = '';
109// Pass the single record recordset and the array containing the data to update
110// into the GetUpdateSQL function. The function will process the data and return
111// a fully formatted update sql statement.
112// If the data has not changed, no recordset is returned
113
114$updateSQL = $conn->GetUpdateSQL($rs, $record);
115$conn->Execute($updateSQL,$varr); // Update the record in the database
116if ($conn->Affected_Rows() != 1)print "<p><b>Error1 </b>: Rows Affected=".$conn->Affected_Rows().", should be 1</p>";
117
118$record["firstName"] = "Caroline".rand();
119$record["lasTname"] = "Smithy Jones"; // Update Caroline's lastname from Miranda to Smith
120$record["creAted"] = '2002-12-'.(rand()%30+1);
121$record['num'] = 331;
122$updateSQL = $conn->GetUpdateSQL($rs, $record);
123$conn->Execute($updateSQL,$varr); // Update the record in the database
124if ($conn->Affected_Rows() != 1)print "<p><b>Error 2</b>: Rows Affected=".$conn->Affected_Rows().", should be 1</p>";
125
126$rs = $conn->Execute("select * from ADOXYZ where lastname like 'Sm%'");
127//adodb_pr($rs);
128rs2html($rs);
129
130$record["firstName"] = "Carol-new-".rand();
131$record["lasTname"] = "Smithy"; // Update Caroline's lastname from Miranda to Smith
132$record["creAted"] = '2002-12-'.(rand()%30+1);
133$record['num'] = 331;
134
135$conn->AutoExecute('ADOXYZ',$record,'UPDATE', "lastname like 'Sm%'");
136$rs = $conn->Execute("select * from ADOXYZ where lastname like 'Sm%'");
137//adodb_pr($rs);
138rs2html($rs);
139}
140
141
142testsql();
143?>
Note: See TracBrowser for help on using the repository browser.