现在我已经将我的查询转换为 PDO 格式。但是下次我必须用旧格式实现查询。代码是这样的:
function mysql_Select($sql) {
$data=array();
$params=func_get_args();
$s=PreparaSQL($sql, $params);
$res = mysql_query($s);
if ($res && mysql_num_rows($res)){
while( $dt = mysql_fetch_object($res)){
$data[]=$dt;
}
return $data;
}
}
function PreparaSQL($sql, $array_param){
unset($array_param[0]);
foreach ($array_param as $k => $v){
$array_param[$k]=mysql_real_escape_string($v); }
return vsprintf( str_replace("params","%s",$sql), $array_param );
}
并执行的功能是:
$data=mysql_Select('SELECT concat(id," | ",wh2) as label,Id as kode,wh2 as nama,wh2 as value FROM wh011 where wh2 like %s',$_GET['where']);
echo json_encode($data);
flush();
并且输出值有错误null
。我认为问题出在这段代码中:
return vsprintf( str_replace("params","%s",$sql), $array_param );
我真的不知道错误点在哪里。谢谢你的回答。