我正在重構一些舊代碼,包括重寫基本mysql查詢以使用PDO。PHP:使用PDO從MySQL中檢索圖像
下面的作品在所有瀏覽器出色併爲所有圖像類型:
$query = 'SELECT image FROM image WHERE imageid=' . $image_id;
$result = mysql_query($query, $db_conn); querycheck($result);
header("Content-type: image");
echo mysql_result($result, 0);
然而不幸的是我用PDO改寫它,這是行不通的。我已經完成了整個PDO文檔和標準網頁搜索,但沒有任何的建議/解決方案可以工作。
如何使用PDO輕鬆獲取並從MySQL映像並顯示它?
編輯1:
馬修Ratzloff給什麼應該是下面的明顯的答案,但它不工作。 這裏是我的測試使用PDO實際的代碼(我試過很多變種/參數):
$connectstring_temp = 'mysql:host=' . $A . ';dbname=' .$B;
$dbh_temp = new PDO($connectstring_temp, $login, $password);
#$dbh_temp->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
#$dbh_temp->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY,true);
$sql = "SELECT image FROM image WHERE imageid=" . $image_id;
$query = $dbh_temp->prepare($sql);
$query->execute();
$query->bindColumn(1, $image, PDO::PARAM_LOB);
$query->fetch(PDO::FETCH_BOUND);
header("Content-Type: image");
echo $image;
我已經把相同的語法,雖然最終代碼$ image_id需要作爲傳遞參數。上面的代碼不起作用。 PDO適用於所有類型的所有其他查詢。
什麼在querycheck? – cwallenpoole 2011-05-14 02:44:13
您重寫的PDO代碼可能會更有幫助。 – 2011-05-14 02:55:47
我發佈了我測試過的答案,然後你會修改 – humphrey 2013-02-21 12:00:18