Php查询数据库注意的地方(字符串)mysqli_query

 

 

 

$mysql=mysqli_query($link,$command);
if (!$mysql) {
printf("Error: %s\n", mysqli_error($link));
exit();
}//这个if是用来看哪儿出错的

 

但凡写过sql语句的人估计都曾经碰到过类似于Unknown column ‘xxx’ in ‘where clause’的问题。 单从字面理解,我们很容易得出

列名不存在的结论,但是,很多时候起始并不是由于列名出错造成的。而是由于拼凑sql语句时对字符类型数据没有用引号引起来造成的。

例如:$command = "select... where name=".$Get['name'];

mysqli_query(...,$command)

则会报错误如下:

sql中如果$Get['name']是整型的倒不会出现什么错误,而如果sql中字符串类型必须要包含在引号内。

所以修改hql为:$command = "from ActiveCert ac where ac.issuerName='".$Get['name']."'";

则错误消失。。

posted @ 2018-04-09 19:35  winter(is&so)long  阅读(267)  评论(0编辑  收藏  举报