我正在尝试从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
答案 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 ).'"/>';