无法使用PHP将数据库连接到heroku

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用PHP将数据库连接到heroku相关的知识,希望对你有一定的参考价值。

我无法将数据库(.sql)文件连接到heroku。我正在使用php连接数据库和网页的前端。 heroku页面显示静态站点,而登录页面显示的是注册新用户时的错误。当我在xampp服务器上运行它时,它的工作正常。

[在heroku部署的应用程序页面上单击表单的提交按钮时,显示为“ herokuapp.com当前无法处理此请求。”。

这是我的网站https://enigmatic-journey-04762.herokuapp.com/login.html的链接

有人可以告诉我使用postgresql在heroku上部署php网站的步骤..

就像这是我用于使用PHP进行连接的代码

<?php
session_start();

$con = mysqli_connect('localhost','root','');
mysqli_select_db($con,'task1');
$email = $_POST['email'];
$pass = $_POST['password'];
$s = "select * from farmer where email='$email' && password='$pass'";
$result = mysqli_query($con,$s);
$num = mysqli_num_rows($result);
if($num==1)
    $row = mysqli_fetch_array($result); 
    $_SESSION['email']=$row['email'];
    $_SESSION['fname']=$row['name'];
    $_SESSION['fcity']=$row['city'];
    $_SESSION['logged_in']=true;
    header('location:profileFarmer.php');

else
    echo "Login error";
    echo "<script>setTimeout(\"location.href = 'login.php';\",1500);</script>";


?>
答案

这是我连接到Heroku Postgresql的方法。将php中的所有mysqli函数更改为PDO函数,以便它们可以与PostgreSQL和mysql一起使用。

打开.sql文件和以CREATE开头的文件查询,并删除'`'这个字符,例如类似这样的东西

CREATE TABLE `blog` (
  `id` int(11) NOT NULL,
  `blog_id` text NOT NULL,
  `heading` text NOT NULL,
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `user_id` text NOT NULL,
  `image_link` text
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

应更改为此

CREATE TABLE blog (
  id serial PRIMARY KEY,
  blog_id text NOT NULL,
  heading text NOT NULL,
  created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  user_id text NOT NULL,
  image_link text
) 

并将其粘贴到heroku postgresql控制台并运行它

将pgweb用于phpmyadmin之类的postgresql接口。在heroku仪表板中获取凭据以连接到PostgreSQL服务器

以上是关于无法使用PHP将数据库连接到heroku的主要内容,如果未能解决你的问题,请参考以下文章

无法将 localhost 连接到 heroku 数据库

Heroku Postgres 升级后 Flyway 无法连接到数据库

在nodejs中连接到heroku postgres db时出错

Heroku 数据库连接属性

Heroku Rails 4 无法连接到服务器:连接被拒绝

无法连接到 Heroku API,请检查互联网连接并重试