无法在服务器上连接MySQL

时间:2017-03-25 11:30:55

标签: php mysql database

如果我尝试连接到我服务器上的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_");

出了什么问题?

2 个答案:

答案 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)

问题解决了!我班上有一个解构主义者,导致了这个问题。