明显不对。
select...是sql语句。
$_post...是php语句。
如果你写的是sql语句,那就不能有$_post[]
如果你写的是php语句,那就应该把其中的sql语句部分作为一般的字符串处理:
$sql = "select * from a where `name`=";
$sql .= $_post['name'];
然后再用php的sql library的function来运行这个字符串$sql
在纯sql语句中,如 爱老婆 所说,字段名加`或者什么也不加;字符类型的数值加单引号。
在php语句中,由于sql部分被认为是字符串,所以要加单/双引号。但因为sql语句中,本身可能包含单引号,所以为了分辨,必须用双引号。
而$_post['name']的意思是,php在载入页面的时候,把所有用html的post方法得到的变量都放入了一个叫_post的数组中。$_post['name']就是调用_post数组中,名称为字符串name的那个变量的值。