我获取存储在数据库中的图像数据 - 类似于0X92384902340923904823 .....使用sqlsrv_query从php进行调用。
虽然数据库中有这些图像的数据,但它总是返回null。
$sql = "SELECT ProdImage FROM Product WHERE ProdId=".addslashes($prod_id)
$params = array();
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$result = sqlsrv_query( $conn, $sql , $params, $options );
if($result != NULL && sqlsrv_num_rows($result) > 0)
{
$obj = sqlsrv_fetch_object($result);
return ($obj->ProdImage);
}
答案 0 :(得分:0)
sqlsrv_query()
支持使用?
占位符的预准备语句。您在$prod_id
中连接,但是您没有在单引号中正确引用它作为字符串 - 这是SQL中的语法错误。相反,请使用占位符?
。
$sql = "SELECT ProdImage FROM Product WHERE ProdId = ?";
// pass $prod_id as a parameter.
$params = array($prod_id);
$options = array( "Scrollable" => SQLSRV_CURSOR_KEYSET );
$result = sqlsrv_query( $conn, $sql , $params, $options );
使用不推荐的普通查询方法,您需要在单引号中引用$prod_id
。如果$prod_id
来自任何类型的用户输入,请不要这样做。
$sql = "SELECT ProdImage FROM Product WHERE ProdId = '$prod_id'";