我试图使用php和pdo将图片插入PostGreSQL数据库。这是我的代码:
<?php
try{
$ndb=$_GET["db"];
$user=$_GET["login"];
$password=$_GET["pw"];
$db = new PDO("pgsql:host=localhost;dbname=$ndb", $user, $password);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
$file_name = "wallabi.jpg";
$data = file_get_contents($file_name);
$es_data = bin2hex($data);
$query = ("INSERT INTO images_preview VALUES (11, 2, 500, '2012-05-03','','', decode('{$es_data}', 'hex'))");
print_r($query);
$stmt = $db->prepare($query);
print_r($stmt->execute());
}
catch(PDOException $e)
{
echo '{"results":[{"error":'.$e.'}]}';
}
?>
我确定:
不会返回或捕获错误。 pdo状态返回插入很好... 请帮帮我&lt; 3
答案 0 :(得分:0)
为了解决我的问题,我使用了pgsql连接工具而不是pdo,它运行良好:
<?php
$ndb=$_GET["db"];
$user=$_GET["login"];
$password=$_GET["pw"];
$dbconn3 = pg_connect("host=localhost dbname=$ndb user=$user password=$password");
$file_name = "wallabi.jpg";
$data = file_get_contents($file_name);
$es_data = pg_escape_bytea($data);
pg_query("INSERT INTO images_preview VALUES (11, 2, 500, '2012-05-03','','', '{$es_data}')");
?>