如果我尝试连接到我服务器上的MySQL数据库(托管在GoDaddy上),我会收到此错误:
内部服务器错误
服务器遇到内部错误或配置错误 无法完成您的请求。请联系服务器 管理员通知错误发生的时间和任何事情 你可能已经做过这可能导致错误。
有关此错误的详细信息可能在服务器错误中可用 日志中。
我不知道如何获取服务器错误日志。
但如果我尝试远程(在我的电脑上)连接到数据库,它工作正常。
我使用此代码:
<?php
class MY_SQL{
private $username;
private $password;
private $conn;
public function __construct($SERVERNAME){
$this->username = "username";
$this->password = "password";
if($SERVERNAME == "data_"){
$server = "server_ip";
}
else {
$server = $SERVERNAME;
}
// Create connection
$this->conn = new mysqli($server, $this->username, $this->password, "data_");
// Check connection
if ($this->conn->connect_error) {
die("Connection failed: " . $this->conn->connect_error);
}
}
}
//connect to database
$database = new MY_SQL("data_");
出了什么问题?
答案 0 :(得分:1)
不要使用mysqli因为它是旧的使用pdo.Also不要把所有东西放在一个文件中..... 这是一个有效的代码,我已将其组织到文件夹中。
index.php
scripts/
dbcon/
dbconfig.php
functions
start.php
functions.php
funcs.php
<强> dbconfig.php 强>
<?php
class Database{
private $host = 'localhost';
private $db_name = '';
private $username = 'root';
private $pass = 'root';
public $conn;
public function dbConnection(){
$this -> conn = null;
try{
$this->conn = new PDO("mysql:host=".$this->host.";dbname=".$this->db_name,$this->username,$this->pass);
$this->conn->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){
echo "Connection error:".$e->getMessage();
}
return $this->conn;
}
}
?>
<强> start.php 强>
<?php
ini_set('display_errors','On');
define('APP_ROOT',__DIR__);
define('ROOT',$_SERVER['DOCUMENT_ROOT']);
require_once ROOT."/scripts/dbcon/dbconfig.php";
session_start();
?>
<强>的functions.php 强>
<?php
require_once 'start.php';
class ADMIN{
private $conn;
public function __construct(){
$database = new Database();
$db = $database->dbConnection();
$this->conn = $db;
}
your functions
}
<强> funcs.php 强>
<?php
//Imports
require_once 'functions/functions.php';
//Classes
$functions = new ADMIN();
call your functions here from the functions.php
&GT;
另外不要使用php作为主页,在php中创建json并使用聚合物或节点js来处理json。 :d
答案 1 :(得分:0)
问题解决了!我班上有一个解构主义者,导致了这个问题。