1.请求链接数据库后,如果使用var_dump()函数来打印的话,会使得后面的if...else...。错乱,他会认为var_dump也是一个运算,后面得到那个值就是null了。如果用一个变量来接收后台返回的object,在var_dump哪个变量就没问题。具体代码如下:
// 检测栏目下是否有文章
$sql = "select count(*) from art where cat_id=$cat_id";
$rs = mysqli_query($link, $sql);
// 就下面这句代码有问题
var_dump(mysqli_fetch_row($rs)[0]);
if (mysqli_fetch_row($rs)[0] != 0) {
echo "栏目下有文章,不能删除";
exit();
}
but:这样写是没问题的:
// 检测栏目下是否有文章
$sql = "select count(*) from art where cat_id=$cat_id";
$rs = mysqli_query($link, $sql);
$result = mysqli_fetch_row($rs)[0];
var_dump($result);
if ($result != 0) {
echo "栏目下有文章,不能删除";
exit();
}
这就是操蛋的第一个bug,Fuck!。 以后写代码还是推荐第二种,这样也更清晰。后来跟一个认识的PHP开发人员交流了下。大致跟我说了很多经验。还是挺好的:
代码不是写的精简或者很高级的样子才叫好代码,好的就是你写的代码半年之后你还能看得懂那才是好的 或者让别人好理解呢代码?
2.有时候链接数据库。mysql语句,本来是返回一个resource的时候,var_dump出来总是false的话,百分之九十,在mysql_connnect的时候报错了。或者没有链接数据库。