ID: 13809 Updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] -Status: Assigned +Status: Feedback Bug Type: ODBC related Operating System: SCO Openserver 5.0.5 & RH Lnux 7 PHP Version: 4.0.6 Assigned To: ahill New Comment:
Please try using this CVS snapshot: http://snaps.php.net/php4-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php4-win32-STABLE-latest.zip Removing ahill assigned to status, and asking to try a newer version Previous Comments: ------------------------------------------------------------------------ [2002-05-22 15:22:24] [EMAIL PROTECTED] Assigning to Andrew ------------------------------------------------------------------------ [2002-05-13 18:18:18] [EMAIL PROTECTED] did some examination on this, and I believe it lies in the OpenLink software... as I see the same problem here, but not on my Windows emulation. Andrew any chance you can take a look into this further? ------------------------------------------------------------------------ [2001-10-24 05:19:44] [EMAIL PROTECTED] Came across this issue when doing my data conversions. If the fields have single quotes in them, odbc_do fails. I have tested this against the Openlink 3.2 and 4.1 SDK's and found that using odbc_prepare works fine. Basic Script ------------ <? $conn = odbc_connect("$dsn","","","$cursor"); $sql="SELECT ID,Category,description FROM card_type WHERE description='IMPEYS'"; echo "<BR><b>SQL:</b> $sql<BR>"; $results = odbc_do($conn,$sql); if ($results) { while (odbc_fetch_into($results,$row)) { echo $row[0]." ".$row[1]." ".$row[2]."\n"; } } $sql="SELECT ID,Category,description FROM card_type WHERE description LIKE '%PEP%'"; echo "<BR><b>SQL:</b> $sql<BR>"; $results = odbc_do($conn,$sql); if ($results) { while (odbc_fetch_into($results,$row)) { echo $row[0]." ".$row[1]." ".$row[2]."\n"; } } $sql='SELECT ID,Category,description FROM card_type WHERE description LIKE "%PEP%"'; echo "<BR><b>SQL:</b> $sql<BR>"; $results = odbc_do($conn,$sql); if ($results) { while (odbc_fetch_into($results,$row)) { echo $row[0]." ".$row[1]." ".$row[2]."\n"; } } $sql='SELECT ID,Category,description FROM card_type WHERE description="PEPPERELL\'S"'; echo "<BR><b>SQL:</b> $sql<BR>"; $results = odbc_do($conn,$sql); if ($results) { while (odbc_fetch_into($results,$row)) { echo $row[0]." ".$row[1]." ".$row[2]."\n"; } } $sql="SELECT ID,Category,description FROM card_type WHERE description=\"PEPPERELL'S\""; echo "<BR><b>SQL:</b> $sql<BR>"; $results = odbc_do($conn,$sql); if ($results) { while (odbc_fetch_into($results,$row)) { echo $row[0]." ".$row[1]." ".$row[2]."\n"; } } /* Output ------ SQL: SELECT ID,Category,description FROM card_type WHERE description='IMPEYS' 355 Other Item IMPEYS SQL: SELECT ID,Category,description FROM card_type WHERE description LIKE '%PEP%' 177 Other Item PEPPERELL'S SQL: SELECT ID,Category,description FROM card_type WHERE description LIKE "%PEP%" Warning: SQL error: [OpenLink][ODBC][Driver]Syntax error or access, SQL state 37000 in SQLExecDirect in /usr/local/.WWW/WEBS/_odbc/test.php3 on line 42 SQL: SELECT ID,Category,description FROM card_type WHERE description="PEPPERELL'S" Warning: SQL error: [OpenLink][ODBC][Driver]Syntax error or access, SQL state 37000 in SQLExecDirect in /usr/local/.WWW/WEBS/_odbc/test.php3 on line 50 SQL: SELECT ID,Category,description FROM card_type WHERE description="PEPPERELL'S" Warning: SQL error: [OpenLink][ODBC][Driver]Syntax error or access, SQL state 37000 in SQLExecDirect in /usr/local/.WWW/WEBS/_odbc/test.php3 on line 58 */ ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=13809&edit=1