ID: 35338 User updated by: f dot engelhardt at 21torr dot com Reported By: f dot engelhardt at 21torr dot com Status: Open Bug Type: PDO related Operating System: Linux PHP Version: 5CVS-2005-11-22 (CVS) New Comment:
Sorry, i forgot to give you another hint: The data in the postgresql database in the first script was added with the pg_-functions into a bytea field. As explained some minutes ago, inserting binary data into a bytea field in postgres via pdo failes with no error output. Maybe i am using the wrong datatype for binary data in postgres, but i only found bytea for binary puroses. Previous Comments: ------------------------------------------------------------------------ [2005-11-23 12:25:07] f dot engelhardt at 21torr dot com Exact the same script (replacing pgsql by mysql in the new PDO line) it works with mysql. I also tried it with CLI, the same error. And i found out another bug. I tried to insert data into the table with pdo into a postgresql database, but there are only some bytes inserted, not all. Script: <?php $dbh = new PDO('pgsql:host=localhost;dbname=test','root','fo0224'); $sData = file_get_contents('/home/bowman/.fluxbox/backgrounds/NVA-91.jpg'); $q = 'INSERT INTO foobar (data) VALUES (:data)'; $stmt = $dbh->prepare($q); if ($stmt) { $stmt->bindParam(':data',$sData); if (!$stmt->execute()) { print_r($stmt->errorInfo()); die('DAMN'); } //header('Content-Type: image/jpeg'); echo $sData; flush(); exit; } else { print_r($dbh->errorInfo()); } ?> This script is working with MySQL, but not with Postgresql ------------------------------------------------------------------------ [2005-11-22 22:36:40] [EMAIL PROTECTED] Are you able to reproduce it with something different than PgSQL? Sqlite, for example? Are you able to reproduce it with PHP CLI? ------------------------------------------------------------------------ [2005-11-22 20:57:09] f dot engelhardt at 21torr dot com Description: ------------ I tried to write binary data into a postgresql table, that work, but i can not get this data out the table anymore. Reproduce code: --------------- <?php $dbh = new PDO('pgsql:host=localhost;dbname=test','root','fo0224'); $q = 'SELECT data FROM foobar'; $stmt = $dbh->prepare($q); if ($stmt) { $stmt->bindColumn('DATA',$sData); if (!$stmt->execute()) { print_r($stmt->errorInfo()); die('DAMN'); } if (!$stmt->fetch(PDO::FETCH_BOUND)) { print_r($stmt->errorInfo()); die('DAMN'); } header('Content-Type: image/jpeg'); echo $sData; } else { print_r($dbh->errorInfo()); } ?> Table foobar only has a bytea column named data Expected result: ---------------- should display the image Actual result: -------------- the php-process does not do anything, the browser waits for an answer (i waited 5 minutes, but nothing happened) ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=35338&edit=1