ThinkPHP 3.2.* 对 ODBC 支持不是很好。所以,这里写了一个方法来实现 dataAll 操作——随笔即兴所写。。。
function dataAll($arr, $table){
if($arr){
foreach($arr as $m => $var){
$varKeyList = array_keys($var);
$varCount = count($varKeyList);
for($i = 0; $i < $varCount; $i++){
$insertList .= $varKeyList[$i];
$insertValue .= "'".$var[$varKeyList[$i]]."'";
if($i < $varCount - 1){
$insertList .= ",";
$insertValue .= ",";
}
}
// 生成 SQL 语句
$sql = "insert ".$table."(".$insertList.") values(".$insertValue.")";
$Model = new \Think\Model();
$Model->query(UTF8toGB($sql));
$insertList = $insertValue = "";
}
}
}
// 编码转换(我的MSSQL 支持得是 GB2312)
function UTF8toGB($source){
return iconv('UTF-8', 'gb2312//IGNORE', $source);
}
其中 $arr 是数组,$table 是表。