php无法检索mysql blob

时间:2015-01-11 01:01:45

标签: php mysql wordpress

我正在尝试从mysql数据库中检索blob。但是,我的查询总是返回1,并且不会触发错误。我一直在尝试我在这里和那里找到的东西,但我永远无法让它返回资源。我手动检查要检索的blob,这样似乎不是问题。有人可以帮助我吗?

$id = 2;
$sqlFetch = "SELECT * FROM mallampati_images WHERE img_id = $id";
$sth = $wpdb->query($sqlFetch) or die ('query failed');
$a = mysql_num_rows($sth);

导致错误:

Warning: mysql_num_rows() expects parameter 1 to be resource, integer given in /home/clients/4ceaa5faab208e8af4350138684e6d6d/web/wp-content/themes/twentytwelve/functions.php on line 539 NULL

2 个答案:

答案 0 :(得分:1)

这将始终返回1.

$sth = $wpdb->query($sqlFetch) or die ('query failed');

你真正想要的是

if (false === ($sth = $wpdb->query($sqlFetch)) {
    die ('query failed');
}

... rest of code

答案 1 :(得分:0)

这就是我的所作所为。它从单行中获取单个单元格,但还有其他wordpress函数可用,例如$wpdb->get_row而不是$wpdb->get_var。它实际上非常简单,但我根本不理解$wpdb API。

$sth = $wpdb->get_var( $wpdb->prepare( "SELECT img_blob FROM mallampati_images WHERE img_id = 1 ", OBJECT ) );
echo '<img src="data:image/jpeg;base64,'.base64_encode( $sth ).'"/>';