未知列缺少WHERE子句mysql命令行

时间:2013-10-04 06:08:32

标签: php mysql sql

我有一个ssh图层。从那我将通过mysql shell获取数据。但是当我在select函数中使用where子句时。它说波纹管错误信息

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'

问题是什么?

2 个答案:

答案 0 :(得分:2)

您的'中没有单引号(SM_ID = 802350570V')。它应该是这样的:

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

答案 1 :(得分:2)

在这里,您将查询作为参数传递,因此使用'包装查询,但请确保使用'

添加转义序列以包装查询

您应该使用"来包装不属于int类型的列值。

请尝试以下:

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