ホームページ >バックエンド開発 >PHPチュートリアル >PHP による Excel のアップロードと pgsql へのデータのバッチ追加に関する質問。専門家からの回答をお待ちしています

PHP による Excel のアップロードと pgsql へのデータのバッチ追加に関する質問。専門家からの回答をお待ちしています

WBOY
WBOYオリジナル
2016-06-13 12:47:41817ブラウズ

PHP は Excel をアップロードし、バッチでデータを pgsql に追加します。専門家の回答を楽しみにしています。

この投稿は、2013-05-14 21:41:53 に jkxlh20120001 によって最終編集されました 次のコードの機能は、Excel をアップロードしてそのデータを読み取り、データをバッチで pgsql データベースに追加することです。アップロードは正常に実装され、データは読み込まれましたが、データをバッチで挿入するときにエラーが発生しました。 (SQL文は実行できません)が、$sql値の出力文を使用してpgAdminIIIで直接実行すると、再度成功します。誰かが私を見て手伝ってくれれば、とても感謝します!
<?php<br />
include_once("reader.php");<br />
include_once("conn.php");<br />
<br />
$remotefilename= date("Ymdhis").".xls";<br />
if (substr($_FILES["file"]["name"],-4)==".xls")<br />
{<br />
  if ($_FILES["file"]["error"] > 0)<br />
    {<br />
    echo "Return Code: " . $_FILES["file"]["error"] . "<br />";<br />
    }<br />
  else<br />
    {<br />
     if(move_uploaded_file($_FILES["file"]["tmp_name"],"xlstmp/" .$remotefilename)==1)<br />
	 {<br />
	    //上传成功并开始读取xls文件<br />
		$data = new Spreadsheet_Excel_Reader();<br />
        $data->setOutputEncoding('CP936');<br />
		$data->read("xlstmp/" .$remotefilename);<br />
		$count=0;<br />
		if($data->sheets[0]['numRows']>=2 && $data->sheets[0]['numCols']>=2)<br />
		{<br />
			for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++)<br />
			{<br />
			$s="";<br />
			for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++)<br />
				{<br />
				if(strlen($data->sheets[0]['cells'][$i][$j])==0) break;<br />
				$s.= $data->sheets[0]['cells'][$i][$j]."|";<br />
				}<br />
			 if(strlen($s)!=0)<br />
				{<br />
				 $count++;<br />
				$ss =explode('|',$s);//将关键词以空格分割到数组中。<br />
				<br />
				// $sql="INSERT INTO zikao_tzd_kecheng(\"KC_DM\",\"KC_MC\")  VALUES('1111','ok')";<br />
//执行上面这句都是可以的<br />
				 $sql="INSERT INTO zikao_tzd_kecheng(\"KC_DM\",\"KC_MC\")  VALUES('".$ss[0]."','".$ss[1]."')";<br />
//执行上面这句就不成功。<br />
				// $sql="INSERT INTO zikao_tzd_kecheng(\"KC_DM\",\"KC_MC\")  VALUES('".$data->sheets[0]['cells'][$i][1]."','".$data->sheets[0]['cells'][$i][2]."')";<br />
<br />
				 <br />
<br />
				 echo $sql."<br>";<br />
                 $result = $PG -> query($sql);				 <br />
				 }<br />
			}<br />
			echo $count."records";<br />
		}<br />
		else<br />
		 {<br />
			echo "xls's rows or columns is so few.";<br />
		 }<br />
<br />
	}<br />
	 else<br />
         echo "upload failed.";<br />
    }<br />
 }<br />
else<br />
  {<br />
  echo "invalid file";<br />
  }<br />
   $PG ->close();<br />
?>
PHP SQL pgsql
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。