2015-01-11 2 views
-1

Я пытаюсь получить blob из базы данных mysql. Однако мой запрос всегда возвращает 1 и не вызывает ошибку. Я пытаюсь найти то, что я нашел здесь и там, но я не могу заставить его вернуть ресурс. Я вручную проверил, что blob будет извлечен, так что это не проблема. Может кто-нибудь, пожалуйста, помогите мне?Ошибка php извлечения mysql 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

+1

Почему вы используете 'mysql_'? – Andrea

+2

, если вы используете wordpress для запроса, вы не должны смешивать методы запроса Wordpress с собственными методами запросов mysql – chiliNUT

ответ

1

это всегда будет возвращать 1.

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

, что вы на самом деле хотите,

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

... rest of code 
0

Вот что я сделал. Он получает одну ячейку из одной строки, но есть другие доступные функции Wordpress, такие как $wpdb->get_row вместо $wpdb->get_var. На самом деле это действительно просто, но я вообще не понял API $wpdb.

$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).'"/>'; 
Смежные вопросы