据我曾经遇到过类似问题的经验,你需要仔细查看下SQL语句,比如:如果某个变量内容里有单引号或双引号,那么,$db->query($sql)就会执行有误。
用echo "$sql"的办法查看输出的SQL语句是个简单的办法,但需要注意一点:输出的内容是在html里,也就是说,会经过浏览器的编码,你看到的并不一定是你输出的。
函数原型是:string base_convert ( string $number , int $frombase , int $tobase )
所以第一个参数必须是string。
var_dump( base_convert ( 'e4' , 16 , 2 ) );
var_dump( base_convert ( '0xe4' , 16 , 2 ) );
var_dump( base_convert ( '3d' , 16 , 2 ) );
否则,php会先尝试先转为string类型,即。
//Notice: Use of undefined constant e4 - assumed 'e4'
//注意这个提示性错误,默认会先当常量处理,如果不是有效常量,当作字符串'e4'
var_dump( base_convert ( (string)e4 , 16 , 2 ) );
var_dump( base_convert ( (string)0xe4 , 16 , 2 ) );
var_dump( base_convert ( (string)3d , 16 , 2 ) );//这样会抛出语法错误