php - 当我尝试访问 cpanel mysql 数据库时抛出 500(内部服务器错误)
问题描述
当我在本地进行时,一切正常,但现在我在 cpanel 上设置了一个数据库,用户拥有所有权限。每当我尝试添加到数据库时,它只会抛出 500(内部服务器错误)
这是我得到的
阿贾克斯:
this.form.addEventListener('submit', function(e){
e.preventDefault();
var submissionInfo = {
'entry': 'entry',
'author': 'author',
}
var data = JSON.stringify(submissionInfo);
var params = 'submit=' + data;
var xhr = new XMLHttpRequest();
xhr.open('POST', 'submit.php', true);
xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xhr.send(params);
});
提交.php
$submission = $_POST['submit'];
$decode = json_decode($submission, true);
$config = require 'config.php';
$query = require 'bootstrap.php';
$query->insert('submissions', $decode);
echo $submission;
引导程序.php
function connection($config){
try {
return new PDO(
"mysql:" . $config['connection'] . ';dbname='.$config['name'],
$config['username'], $config['password'], $config['options']
);
} catch(PDOException $e){
die('could not connect.');
}
}
class QueryBuilder {
protected $pdo;
public function __construct($pdo){
$this->pdo = $pdo;
}
public function insert($table, $parameters){
$sql = sprintf(
'insert into %s (%s) values (%s)',
$table,
implode(', ', array_keys($parameters)),
':' . implode(', :', array_keys($parameters))
);
try {
$statement = $this->pdo->prepare($sql);
$statement->execute($parameters);
} catch (Exception $e) {
die($e->getMessage());
}
}
}
return new QueryBuilder( connection($config['database']) );
配置文件
<?php
return [
'database' => [
'name' => 'database_name',
'username' => 'myUsername',
'password' => 'myPassword',
'connection' => 'localhost',
'options' => [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]
]
];
对不起,我知道这是很多代码,但老实说我不知道问题可能是什么,所以我不知道如何缩小范围。有任何想法吗?
解决方案
推荐阅读
- ios - 如何在获取 api 响应并存储在 coredata 中然后在 UItableview 中显示后消除重复数据
- r - 使用列表填充数据框的列
- python - urlopen 无法连接到网站
- python - 在 PySpark 中,使用 regexp_replace,如何用另一列的值替换一个组?
- docker - Cloud Run 和 Revel 容器
- python - 使用 python json 转义字符
- sql - 根据其他查询的结果运行 Select 查询
- flutter - FutureBuilder、SetState:删除 setState 时变量未更新
- jquery - jQuery:保存和恢复多选框的选择状态
- r - 如何在绘图中添加相关值( ggplot )