2015-12-05 3 views
2

Можно ли создать запрос pdo с переменной? Пример:Размещение переменной в инструкции PDO

$q = "SELECT COUNT (*) c FROM blogpages WHERE keywords LIKE '%test%' "; 

затем

$query = $db->query("$q"); 

$result = $query->fetch(PDO::FETCH_ASSOC); 

, когда я делаю это я получаю сообщение об ошибке

«Обращение к функции члена выборки() на не-объект в C ... .. "

Я хочу знать, есть ли способ разместить запрос там как переменную, потому что изменение запроса s в зависимости от того, сколько OR заявления в запросе

+0

использовать этот запрос $ query = $ db-> ($ q); вместо запроса $ query = $ db-> ("$ q"); –

+0

Я все еще получаю ту же ошибку –

+2

«Спросить» ['var_export ($ db-> errorInfo());'] (http://docs.php.net/manual/en/pdo.errorinfo.php) что пошло не так с запросом. – VolkerK

ответ

4

query()

PDO :: запрос - выполняет оператор SQL, возвращая результирующий набор в качестве объекта PDOStatement

И проблемы в ваш запрос с пространством between count and (*)

SELECT COUNT (*).. 
      ^^ 

поэтому нет необходимости извлекать данные просто использовать

$q = "SELECT COUNT(*) c FROM blogpages WHERE keywords LIKE '%test%' "; 
foreach ($db->query($q) as $row) { 
     print $row['c'] . "\t"; 
    } 
Смежные вопросы