#35607 [Opn->Asn]: Crash with Update command
| From: | sniper@php.net | Date: | Fri, 09 Dec 2005 14:48:17 +0000 |
| Subject: | #35607 [Opn->Asn]: Crash with Update command | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-90167@lists.php.net to get a copy of this message | ||
ID: 35607
Updated by: sniper@php.net
Reported By: wseibert at hxcorp dot com
-Status: Open
+Status: Assigned
Bug Type: PDO related
Operating System: Windows 2k
PHP Version: 5CVS-2005-12-08 (snap)
Assigned To: wez
Previous Comments:
------------------------------------------------------------------------
[2005-12-09 15:23:21] wseibert at hxcorp dot com
I think i found some more info out.
It seems to have a problem with the aliases of the tables.
This will work:
UPDATE tbl1 SET id=10 WHERE 1=1
This will crash:
UPDATE tbl1 SET tbl1.id=10 WHERE 1=1
Both are valid SQL statements...
I'm not sure if this is caused in one of the ext in PHP (PDO_odbc?) or
where it's crashing from...
Can we get some error catching in PHP5 for this?
------------------------------------------------------------------------
[2005-12-09 05:24:37] wez@php.net
Can you provide a CREATE TABLE statement or a small copy of your actual
.mdb file, so that I can test against the same schema you're using?
------------------------------------------------------------------------
[2005-12-08 21:34:46] tony2001@php.net
Assigned to the maintainer.
------------------------------------------------------------------------
[2005-12-08 21:12:16] wseibert at hxcorp dot com
Sorry, I know this is going to be difficult to duplicate as I'm
connecting to a Access DB on my local machine via ODBC. If you have a
Access DB on your system, you just need to set it up in your ODBC
Manager and point to that DSN in the script. Once that is done, try
doing a Update SQL command via PDO::query, Then try it via PDO::exec.
If it works (correctly), it should return the number of rows affected.
It crashes for me on the query, and does nothing on the exec.
------------------------------------------------------------------------
[2005-12-08 21:07:57] wseibert at hxcorp dot com
<?php
try
{
$dbh = new PDO('odbc:DSN=TEST;driver=Driver do Microsoft Access
(*.mdb)','','');
$results = $dbh->query('UPDATE xd17 SET xd17.CCDate = 20051207,
xd17.CCTime = 1200, xd17.ModifiedDS = 200512071200 WHERE xd17.XTyp17 =
157 AND xd17.X15A = 51921 AND xd157.X105B = 3300');
} catch (PDOException $e) {
print "Error!: ".$e->getMessage()."<br/>";
die();
}
?>
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/35607
--
Edit this bug report at http://bugs.php.net/?id=35607&edit=1