为了账号安全,请及时绑定邮箱和手机立即绑定

public static function findById($fields='',$tagName,$priId){

$sql='select %s from %s where id=%d';

return self::getRow(sprintf($sql,self::parseField($fields),$tabName,$priId));

}

//分析查找域

public static function parseField($fields){

if(is_array($fields)){

array_walk($fields, array('PdoMysql','addSpecilChar'));

$fieldsStr=implode(',',$fields);

}elseif(is_string($fields)&&!empty($fields)){

if(strpos($fields,'`')===false){

$fields=explode(',',$fields);

array_walk($fields,array('PdoMysql','addSpecilChar'));

$fieldsStr=implode(',',$fields);

}else{

$fieldsStr=$fields;

}

}else{

$fieldsStr='*';

}

return $fieldsStr;

}

public static function addSpecilChar($value){

if($value==='*'||strpos($value,'.')!==false||strpos($value,'`')!==false){

//不用处理

}elseif(strpos($value,'`')===false){

$value='`'.trim($value).'`';

}

return $value;

}


$tabName='user1';

$priId='20';

$fields='username,email';

print_r($PdoMysql->findById($fields,$tabName,$priId));

为什么显示You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where id=20' at line 1?



正在回答

1 回答

证明你的SQL语句有问题,你把SQL语句输出出来,在命令行执行下看看哪错啦,出问题解决问题就是进步的过程,加油^-^...

1 回复 有任何疑惑可以回复我~
#1

半夜有行舟 提问者

谢谢,已找到了。
2014-09-18 回复 有任何疑惑可以回复我~
#2

枪与玫瑰

老师为什么这个语法 array_walk($array, array('className', 'walkFunction'));手册上找不到
2016-11-11 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信