怎么把一个数组整成适合插入数据库的格式?
下面的SQL语句values($arry)有问题,该怎么改啊?<?php
   require_once("conn.php");//数据库配置文件
   $file = fopen('d:\\qq.txt',"r");//打开文件
while(!feof($file))
{
 $line=fgets($file);
  $line = iconv('GBK','UTF-8',$line);
 echo str_replace('|',' ',$line).'<br/>'; $arry = explode("|",$line);
echo $arry.'<br/>'; $sql="insert into T_persons(name,age_1,birthday,location_1,telNo,bloodType,relation,city) " ."values($arry)"; mysql_query("set names utf8");//修改编码
 mysql_query($sql);
  }
  fclose($file);
  echo "import ok!";
?>

解决方案 »

  1.   

    for($i = 0; $i < count($arr); $i ++) $arr[$i] = "'".$arr[$i]."'";
    $sql="insert into T_persons(name,age_1,birthday,location_1,telNo,bloodType,relation,city) VALUES(".implode(',', $arr).')';
      

  2.   

    还可以序列化,或者是转为json格式
      

  3.   

     VALUES(".implode(',', $arr).')';
     
     
    这个好,谢谢了。
      

  4.   

    $sql="insert into T_persons(name,age_1,birthday,location_1,telNo,bloodType,relation,city) " ."values('" . implode("','", $arry) . "')";// 更安全的用法
    $sql="insert into T_persons(name,age_1,birthday,location_1,telNo,bloodType,relation,city) " ."values('" . implode("','", array_map('mysqli_real_escape_string', $arry)) . "')";
      

  5.   

    本帖最后由 xuzuning 于 2011-08-03 10:37:24 编辑