ID: 35607
Updated by: [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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] [EMAIL PROTECTED]
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