我正在用php编码网站,但是当我对其进行测试时,该页面指示HTTP错误500。因此我搜索了该问题,并找到了一个日志文件,该文件指示我以下内容:
/p/Applications/MAMP/htdocs/SITE/config/connect.php中的'ERR_WARNING':3
堆栈跟踪:
#0 /Applications/MAMP/htdocs/SITE/config/functions.php(5):require()
#1 /Applications/MAMP/htdocs/SITE/index.php(4):getArticles()
#2 {main}
在第3行的/Applications/MAMP/htdocs/SITE/config/connect.php中抛出
然后我检查了functions.php文件,但发现没有错误,请您帮我解决此问题。
这是我的functions.php文件:
<?php
// ARTICLE FUNCTION
function getArticles()
{
require "./config/connect.php";
$req = $bdd->prepare('SELECT id, title FROM articles ORDER BY id DESC');
$req->execute();
$data = $req->fetchAll(PDO::FETCH_OBJ);
return $data;
$req->closeCursor();
}
?>
这是我的connect.php文件:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=blog;charset=utf8','root','root');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERR_WARNING);
?>
然后,我将replace命令放在function.php中的关闭光标1下,但是,它没有解决问题
然后,我更改了连接文件和数据库中的密码,以使它们现在相同。
但这并不能解决显示以下消息的问题:
[09-Apr-2019 15:15:31 UTC] PHP致命错误:未捕获的PDOException:SQLSTATE [HY000] [1045]在/中拒绝用户'root'@'localhost'(使用密码:> YES)的访问应用程序/MAMP/htdocs/SITE/config/connect.php:2
堆栈跟踪:
#0 /Applications/MAMP/htdocs/SITE/config/connect.php(2):PDO-> __ construct('mysql:host = loca ...','root','123')
#1 /Applications/MAMP/htdocs/SITE/config/functions.php(5):require('/ Applications / M ...')
#2 /Applications/MAMP/htdocs/SITE/index.php(4):getArticles() #3 {main}
在第2行的/Applications/MAMP/htdocs/SITE/config/connect.php中抛出
然后,我意识到我在连接文件中输入的密码错误,因此我进行了更改。我又回到了第一个错误:
[09-Apr-2019 16:40:18 UTC] PHP致命错误:未捕获错误:/Applications/MAMP/htdocs/SITE/config/connect.php:3中未定义的类常量'ERR_WARNING':<< /> 堆栈跟踪:
#0 /Applications/MAMP/htdocs/SITE/config/functions.php(5):require()
#1 /Applications/MAMP/htdocs/SITE/index.php(4):getArticles()
#2 {main}
在第3行的/Applications/MAMP/htdocs/SITE/config/connect.php中抛出
答案 0 :(得分:1)
我终于找到了解决方案。 在连接文件中,第3行是:
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERR_WARNING);
但是有一个拼写错误:常量ERR_WARNING
不存在-应该为ERRMODE_WARNING
。用正确的名称替换该常数可解决此问题:
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
感谢您的所有回答和借口,困扰您解决这个简单问题的时间