无法使用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的主要内容,如果未能解决你的问题,请参考以下文章
Heroku Postgres 升级后 Flyway 无法连接到数据库