ID: 13809
Updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
-Status: Open
+Status: Analyzed
Bug Type: ODBC related
Operating System: SCO Openserver 5.0.5 & RH Lnux 7
PHP Version: 4.0.6
New Comment:
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?
Previous Comments:
------------------------------------------------------------------------
[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