Php 如何解决此问题页面不工作HTTP错误500
我怎样才能解决这个问题? 我正在尝试使用准备好的语句从数据库中获取记录。这适用于本地主机,但不适用于在线主机 db.phpPhp 如何解决此问题页面不工作HTTP错误500,php,mysql,http,prepared-statement,Php,Mysql,Http,Prepared Statement,我怎样才能解决这个问题? 我正在尝试使用准备好的语句从数据库中获取记录。这适用于本地主机,但不适用于在线主机 db.php <?php class Db { private $host = "localhost"; private $user = "guru77"; private $pwd = "123456"; private $dbName = "testingProjects"; protected function connect(){ $dsn = 'mysql:h
<?php
class Db {
private $host = "localhost";
private $user = "guru77";
private $pwd = "123456";
private $dbName = "testingProjects";
protected function connect(){
$dsn = 'mysql:host='.$this->host.';dbname='.$this->dbName;
$pdo = new PDO($dsn,$this->user,$this->pwd);
$pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_ASSOC);
return $pdo;
}
post.php
<?php
class Post extends Db{
protected function showAll(){
$sql = "SELECT * FROM posts";
$stmt = $this->connect()->query($sql);
$results = $stmt->fetchAll();
return $results;
}
index.php
<?php
require_once('db.php');
require_once('post_view.php');
require_once('post.php');
$obj = new Post_view();
$rows = $obj->show();
?>
<html>
<head>
</head>
<body>
<?php foreach($rows as $row){
echo $row['title'];
}?>
</body>
</html>
输出-
您可以使用
$pdo = new PDO('mysql: host=localhost; dbname12', 'myusername', 'password');
DNS记录中缺少分号:
$dsn = 'mysql:host='.$this->host.';dbname='.$this->dbName;
应该是这样的:
$dsn = '"mysql:host='.$this->host.';dbname='.$this->dbName . '"';
希望能有帮助 500内部服务器错误是服务器抛出异常时的一般捕获所有错误。简单地说,500内部服务器错误是一个通用http状态代码,这意味着网站服务器出现了问题
请检查以下内容:,
检查您的在线托管服务、数据库凭据是否相同。(以下变量的值。)。联机主机中的软管可能与本地主机中的软管不同
private $host = "localhost";
private $user = "guru77";
private $pwd = "123456";
private $dbName = "testingProjects";
或者,您可以通过运行以下命令来检查数据库连接:
<?php
$hostname= "localhost";
$db= "database";
$user= "user";
$pass= "password";
$checkConn= new mysqli($hostname, $user, $pass, $db);
// Check connection
if ($checkConn->connect_error) {
die("Connection failed: " . $checkConn->connect_error);
}
echo "Connected successfully";
?>
如果您可以获取服务器的错误日志数据,这将更有助于调试您的主机提供商可能具有不同的mysql
主机名,这将更有帮助。确保您使用正确的名称连接到mysql服务器。您没有使用准备好的语句。您应该检查服务器的错误日志。在进行任何查询之前,您还必须检查您的连接
。您对此有何改进?谢谢。它现在正在工作。我没有在post_view.php中包含post.php文件。我登记了,很高兴能帮上忙
<?php
$hostname= "localhost";
$db= "database";
$user= "user";
$pass= "password";
$checkConn= new mysqli($hostname, $user, $pass, $db);
// Check connection
if ($checkConn->connect_error) {
die("Connection failed: " . $checkConn->connect_error);
}
echo "Connected successfully";
?>