2013-10-04 2 views
1

У меня есть слой ssh. Из этого я собираюсь получить данные через оболочку mysql. Но когда я использую предложение where внутри функции select. это говорит пыльник сообщение об ошибкеНеизвестная колонка отсутствует WHERE предложение mysql command line

echo $ssh->exec("mysql -ppass -u root xxxx -e 'select * from `student_master` where `SM_ID` =802350570V'"); 

Это говорит

ERROR 1054 (42S22) at line 1: Unknown column '802350570V' in 'where clause' 

Что проблема?

+0

'802350570V' является VARCHAR тип данных, так что вы должны прилагается их qoutation –

+0

Проверьте мой ответ –

ответ

2

Здесь вы передаете свой запрос в качестве аргумента, так завернуть запрос с ', но убедитесь, что вы добавляете последовательность выхода, чтобы обернуть запрос с '

Вы должны использовать " для округления значения столбца, которое не относится к типу int.

Пожалуйста, попробуйте следующее:

`echo $ssh->exec("mysql -ppass -u root xxxx_col-b -e 'select * from student_master where SM_ID =\"802350570V\"'");` 
+0

, наконец, ваше обновление хорошо зарекомендовало себя – underscore

+1

он получил мою идею .. –

+0

@ DrixsonOseña, как я могу разместить это как переменную 802350570V? – underscore

2

У вас нет единой цены (') в вашем SM_ID = 802350570V'. Это должно быть так:

echo $ssh->exec("mysql -ppass -u root esoftcar_col-b -e 'select * from `student_master` where `SM_ID` = \"802350570V\"'"); 
+0

Баш: -c: линии 0: неожиданный EOF при поиске соответствия'» 'bash: -c: строка 1: синтаксическая ошибка: неожиданный конец файла – underscore

+0

проверить мое обновление. –

+0

bash: student_master: команда не найдена bash: SM_ID: команда не найден ERROR 1064 (42000) в строке 1: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с 'where =' 802350570V '' по строке 1 – underscore

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