为了账号安全,请及时绑定邮箱和手机立即绑定

我该如何解决这个问题 页面不工作 HTTP ERROR 500

我该如何解决这个问题 页面不工作 HTTP ERROR 500

PHP
慕村225694 2022-07-29 10:53:59
我怎么解决这个问题?我正在尝试使用准备好的语句从数据库中获取记录。这适用于本地主机,但不适用于在线托管。数据库.php<?phpclass 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<?phpclass Post_view extends Post{public function show(){    $results = $this->showAll();    return $results;}}?>post.php<?phpclass Post extends Db{protected function  showAll(){        $sql    = "SELECT * FROM posts";        $stmt   = $this->connect()->query($sql);                    $results = $stmt->fetchAll();        return $results;    }}?>索引.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>输出 -
查看完整描述

3 回答

?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

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";


?>

如果能得到服务器的错误日志数据就更好了,这对调试很有帮助


查看完整回答
反对 回复 2022-07-29
?
慕工程0101907

TA贡献1887条经验 获得超5个赞

您的 DNS 记录中缺少分号:

$dsn = 'mysql:host='.$this->host.';dbname='.$this->dbName;

应该是这样的:

$dsn = '"mysql:host='.$this->host.';dbname='.$this->dbName . '"';

希望能帮助到你。


查看完整回答
反对 回复 2022-07-29
?
呼如林

TA贡献1798条经验 获得超3个赞

您可以使用

$pdo = new PDO('mysql: host=localhost; dbname12', 'myusername', 'password');


查看完整回答
反对 回复 2022-07-29
  • 3 回答
  • 0 关注
  • 125 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信