2013-07-16 5 views
-2

Привет У меня есть запрос в PHP-файл, который используется для фильтрации данных в файл из базы данных MySQLИспользование массива в котором условие не работает

$_SESSION['sc_session'][$this->Ini->sc_page]['grid_deposit']['where_orig'] = " where Reg_no = \"69\""; 

В этой строке, если Reg_no = \ «69 \»», если я изменить 69 к любым данным значением модифицируется, но если я использовать массив вместо 69, то его не работает как этот

$_SESSION['sc_session'][$this->Ini->sc_page]['grid_deposit']['where_orig'] = " where Reg_no = " . $fc . ""; 

но если я использую $ к = 69; эхо-Фк;

Тогда его работы, но не на этой линии, пожалуйста, скажите мне, как код это ошибка, на которой я получаю

Error 
Error while accessing the database: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 
select count(*) from deposit where Reg_no = 
+1

Что такое '$ fc'? Опубликуйте 'var_dump()'. –

+0

Извините $ fc = 69; –

ответ

1

из вашего Reg_no = \ «69 \» «

и ваш Reg_no =». $ Ь "";

вы не Пропавшие без вести «» из Фк

$_SESSION['sc_session'][$this->Ini->sc_page]['grid_deposit']['where_orig'] = " where Reg_no = \"" . $fc . "\""; 

, чтобы они соответствовали вашим 69 пример.

+0

не работает «запись не найдена» –

+0

работает ли ваш пример «69»? – azngunit81

+0

Да, его работа –

0

я предполагаю, что вы пытаетесь сделать что-то вроде

"где Reg_no IN (" .implode (" " $ к).")";

+0

Ошибка Ошибка при доступе к базе данных: У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с ')' в строке 1 выберите счетчик (*) из депозита, где Reg_no IN() –

1

В оригинальном вопросе вы заявили, этот текст ошибки

Error 
Error while accessing the database: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 
select count(*) from deposit where Reg_no = 

Если $ Ь будет массив вы увидите это в запросе, как таковой. Если я правильно помню, это будет выглядеть так ...

Error 
Error while accessing the database: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 
select count(*) from deposit where Reg_no = Array 

Как я не предполагаю, что переменная $ fc пуста. Вы проверили переменную или лучше создали запрос и зарегистрировали его где-нибудь, чтобы проверить запрос, когда он отправляется на сервер sql.

Как уже упоминалось, если бы это был массив PHP, он бы преобразовал его, если неправильно использовать текст «Массив», который вы должны найти в запросе.

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