无法使用PHP从mysql数据库中读取BLOB图像?

时间:2014-06-30 07:05:40

标签: php jquery mysql ajax blob

我正在尝试从mysql数据库中读取BLOB类型的列。当我尝试使用ajax显示它时,我得到以下错误。不确定有什么问题?

我正在对网络服务器上的php进行jquery ajax调用,该服务器连接到服务器上的mysql数据库。

错误

Warning: mysqli_select_db() expects parameter 1 to be mysqli, null given in /home2/marshell/public_html/xyz.com/php/readProfilePicture.php on line 12

Fatal error: Call to a member function query() on a non-object in /home2/marshell/public_html/xyz.com/php/readProfilePicture.php on line 15

readProfilePicture.php

<?php
header("Access-Control-Allow-Origin: *");
$con = mysqli_connect("localhost", "marshell_dpouch", "pass", "xyz", "3306");

$email = "xyz@gmail.com";

if (mysqli_connect_errno())
  {
        echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

mysqli_select_db($db,"xyz");

$sql = "SELECT Image FROM profileinformation WHERE email = '".$email."' ";
$sth = $db->query($sql);
$result=mysqli_fetch_array($sth);

echo '<img src="data:image/jpeg;base64,'.base64_encode( $result['Image'] ).'" height="300" width="200" >';

?>

的Ajax

$.post("http://www.example.com/php/readProfilePicture.php",
  {

  },
    function(data,status){

      $("#displayprofilepicturehere").html(data);

    });

}

2 个答案:

答案 0 :(得分:1)

我相信这会解决你的问题

mysqli_select_db($con ,"xyz"); and not mysqli_select_db($db,"xyz");

答案 1 :(得分:1)

尝试使用此代替代码:

$con->select_db("xyz");

此代码:

mysqli_select_db($db,"xyz");
如果你没有使用MySQLi对象,

是旧式的。

而且还有另一个错误:

$sth = $db->query($sql);

选择一个对象名称:$con$db并在脚本中的任何位置使用它。我想,你有一个错字。可能在一开始就是:

$db = mysqli_connect("localhost", "marshell_dpouch", "pass", "xyz", "3306");