php mssql查询的一个问题(请教)
//获得整列的所有值,转为一个2维数组。
function getAll($sql) {
$query=mssql_query($sql);
if($query) {
$temp=array();
while($res=mssql_fetch_assoc($query)) {
$temp[]=$res;
}
return $temp;
}
else{
return false;
}
}
$result ="SELECT zdmc FROM QX WHERE jsid=9 and tcmc='$ditcbo' and kj=1";
$arr=getALL($result);
//把二维数组转为一个用单引加逗号隔开的字符串
for($i=0;$i<count($arr);$i++){
$array[] = $arr[$i]["zdmc"];
}
$r="'".implode("','", $array )."'";
//用这个字符串在表中进行查询
$result2 = mssql_query("SELECT $r FROM $sjb WHERE ID='$bh'");
$row = mssql_fetch_array($result2);
print_r($row)
显示的结果为
乱码是因为这个是读的是mmsql的gbk编码,用到的时候我会进行转换,但是现在里面读到的内容都是不正确的
新手写弄的,求兄弟帮忙啊 PHP MS?SQL select
[解决办法]
$r = '[' . implode("],[", $array ) . ']';
既然 $r 中是字段列表,那么用单引号括起不就成了字符串了?
看截图,你的字段名大多是中文的。这样就需要经字段名用 [] 括起,你在sql server管理器中就可看到