首页 > 解决方案 > 将脚本从 MySql PDO & INSERT 更改为 PostGRESql

问题描述

我按照这个网站上的步骤使用 Android Studio 创建了一个后台服务,该服务将 GPS 数据发送到 PHP 脚本,然后发布到 MySQL 数据库。

但是,我想发布到 Postgres 数据库。我尝试了几件事,但我没有任何成功。这些是网站教程中的两个 PHP 脚本:

config.php 脚本:

<?php
class DB{
private $dbHost="localhost";
private $dbUsername="USER";
private $dbPassword="PASS";
private $dbName="locationdb";

public $db_con;

public function __construct(){
if(!isset($this->db)){
try{
$pdo=new PDO("mysql:host=".$this->dbHost.";dbname=".$this->dbName, $this->dbUsername, $this->dbPassword);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$this->db_con=$pdo;
}catch(PDOEXCEPTION $e){
die("Failed to connect with mysql :".$e->getMessage());

}
}
}

public function addGPSData($lat, $lon)
{
$sql="INSERT into tblgpslocation(latval, lonval) VALUES (:lat, :lon)";
$stmt=$this->db_con->prepare($sql);
$stmt->bindParam(":lat", $lat);
$stmt->bindParam(":lon", $lon);
$stmt->execute();
$newId=$this->db_con->lastInsertId();
return $newId;
}
}
?>

脚本 2:

<?php
include "config.php";

$db= new DB();

if(isset($_POST['gpsdata']) && $_POST['gpsdata']=='true'){
$result=$db->addGPSData($_POST['latitude'], $_POST['longitude']);
if($result>0){
echo "OK";
}else{
echo "error";
}
}
?>

为了使它连接到我的 postgresql 数据库并发布传入数据,我需要进行哪些更改?

标签: phpmysqlpostgresqlpostpdo

解决方案


推荐阅读