我该如何解决此问题该页面无法正常工作 HTTP ERROR 500
How can I solve this issue The page is not working HTTP ERROR 500
我该如何解决这个问题?
我正在尝试使用准备好的语句从数据库中获取记录。这适用于本地主机,但不适用于在线托管。
db.php
<?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_view.php
<?php
class Post_view extends Post{
public function show(){
$results = $this->showAll();
return $results;
}
}
?>
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 Internal Server Error 是服务器抛出异常时的一般捕获所有错误。简单地说,500 Internal Server Error 是一个通用的 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";
?>
如果能得到服务器的错误日志数据就更好了,对调试有帮助
我该如何解决这个问题? 我正在尝试使用准备好的语句从数据库中获取记录。这适用于本地主机,但不适用于在线托管。
db.php
<?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_view.php
<?php
class Post_view extends Post{
public function show(){
$results = $this->showAll();
return $results;
}
}
?>
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 Internal Server Error 是服务器抛出异常时的一般捕获所有错误。简单地说,500 Internal Server Error 是一个通用的 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";
?>
如果能得到服务器的错误日志数据就更好了,对调试有帮助