无法通过php heroku app将数据插入PostgreSQL表

时间:2016-02-29 14:10:48

标签: php postgresql heroku

我正在尝试使用postgresql后端在heroku上创建一个简单的php应用程序。 我使用heroku提供的凭据创建了与postgresql服务器的连接: -

<?php

class DB_Connect
    {
        private $db; 
        public function connect()
        {
          $host        = "";
          $port        = "port=5432";
          $dbname      = "";
          $credentials = "user= password=";

          $db = pg_connect( " $url $host $port $dbname $credentials"  );
          if(!$db){
             echo "Error : Unable to open database\n";
          } else {
             echo "Opened database successfully\n";
          }
        }
    }

    $db1 = new DB_Connect();
    $conn = $db1->connect();

    $query = "insert into public.user_test(name,email) values('val','val@in.com')";
    $result = pg_query($conn,$query);
    echo $result;
?>

当我在heroku上部署应用程序时,我获得了一个Opened Database成功消息,但是当我使用pgadmin检查表时,没有任何内容插入到表中。

我尝试使用和不使用模式名称&#34; public&#34;,但这也没有帮助。

当我通过提供本地postgresql凭据在本地运行应用程序时,表格将被填充。

1 个答案:

答案 0 :(得分:0)

您没有在connect方法中返回连接。在if条件之后添加return $db;应该可以解决问题。

class DB_Connect
{
    public function connect()
    {
      $host        = "";
      $port        = "port=5432";
      $dbname      = "";
      $credentials = "user= password=";

      $db = pg_connect( " $url $host $port $dbname $credentials"  );
      if(!$db){
         echo "Error : Unable to open database\n";
      } else {
         echo "Opened database successfully\n";
      }
      return $db;
    }
}