2013-05-07 1 views
1

Я новичок в программировании, и у меня есть PHP-код, где мне нужно подключиться к базе данных. У меня есть строка, как это:Как объявить String ina String

$where = 'module = "Card"'; 
$arrDateInfo = $objQuery->select($col, $table, $where); 

Однако эта часть «модуль =„Card“» не является правильным. Я хочу получить только данные, в которых модуль является «Картой». Наличие другой таблицы для module_type не является вариантом. Я не могу найти нигде, как объявить строку в более длинной строке. Пожалуйста помоги!

+3

Что такое objquery? – exussum

+0

Это часть функции SC_Query_Ex :: getSingletonInstance(), определенной в EC-Cube. Я на самом деле не так хорош с условиями, извините, что не включил это. – kireirina

+0

В чем проблема с кодом? Каким образом это «неправильно»? – Adrian

ответ

-1

В зависимости от используемой базы данных вы захотите использовать одинарные кавычки вокруг строки в предложении where. Я предлагаю поменять местами кавычки, используемые, например:

$where = "module = 'Card'"; 
$arrDateInfo = $objQuery->select($col, $table, $where); 
+0

'$ where = 'module =" Card "';' === '$ where =" module = 'Card' ";' – Fabrizio

+0

это исправлено. большое спасибо! – kireirina

+0

Fabrizio: Хотя PHP относится к тому же, базы данных этого не делают. Он может работать как написанный в MySQL. Если это MSSQL, вы не можете использовать двойные кавычки для идентификации строки. – Lawson

3

Существует хороший шанс, что $where ожидает ассоциативный массив.

попробовать это:

$where = array(
    'module' => 'Card' 
); 

Хотя, если вы не скажете нам, что библиотека DB мы используем, мы не будем знать, что он ожидает, что, не будучи в состоянии смотреть на функцию в документации для указанной библиотеки.

+0

спасибо! это хороший вариант, но я исправил мой, используя «module = 'Card», вместо этого вместо двойной кавычки вместо нее и одиночной цитаты внутри. Во всяком случае, я дал вам голосование. – kireirina

Смежные вопросы