您的位置:首页 > 编程语言 > PHP开发

基于PostgreSQL+Postgis的空间数据库的实现(结合PHP)(3)

2013-03-18 16:36 561 查看
PHP关于PostgreSQL的相关设置都弄好以后,就可以在PHP中直接操作数据库了。下面的一段代码是我将台风数据以点状数据全部插入到数据库中,其中包含:

数据库连接
文件打开并读取
消除字符串中多余的空格
执行sql查询

上述过程在代码中会以注释出现:

<?php
//phpinfo();
//连接数据库
$conn = pg_connect("host=localhost port=5432 dbname=postgis user=postgres password=password");
if ($conn) {
print "OK! Has connected" . "<br>";
} else {
print "Error! Connect failure" . "<br>";
}
//文件打开
$file = fopen("tydata2010.dat", "r") or exit("Unable to open file!");

if($file){
$arr_count = 1;
while(!feof($file)){
$str = trim(fgets($file));
//去掉多余空格
$str = preg_replace('/\s(?=\s)/', '', $str);
//将字符串打散成数组
$result = explode(" ", $str);
echo print_r($result)."<br/>";
//PostgreSQL中的插入语句为:insert into 表名 values(1,19631,'1963-04-13',40,'POINT(143.1 32.4)');
$sql_insert_str="INSERT INTO typhoon VALUES(".$arr_count.",".$result[0].",'".$result[1]."-".$result[2]."-".$result[3]."',".$result[7].",'POINT(".$result[6]." ".$result[5].")');";
//执行SQL插入
$query_result = pg_query($conn,$sql_insert_str);
if(!$query_result){
echo "Query Failed!<br/>";
}
//echo $sql_insert_str."<br/>";
$arr_count = $arr_count + 1;

}
echo "The total count is ".$arr_count;

}
else{
echo "No data!";
}
fclose($file);
?>


结合PHP对PostgreSQL的操作手册,貌似不需要关闭数据库连接,pg_close()并不很需要,因为非持久连接在本脚本执行结束后会自动关闭。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐