php没有连接到mysql数据库MAMP

时间:2015-06-01 03:49:35

标签: php mysql mamp

所以我有一些PHP连接到我的数据库,我正在使用MAMP运行,但它看起来不起作用。这是我的class.database.php(对不起代码有点乱)。你认为这可能是问题还是我的代码中的其他内容?谢谢你的帮助。

    <?
class dbConnection {
        protected $db_conn;
        public $db_name = 'todo';
        public $db_user = 'root';
        public $db_pass = 'root';
        public $db_host = 'localhost';

        function connect(){
        try{
            $this->db_conn = new PDO("mysql:host=$this->db_host;db_name=$this",$this->db_user,$this->db_pass)
                    return $this->db_conn;
    }
                catch(PDOException $e)
                {
                    return $e->getMessage();
                }
        }
            }

?>

3 个答案:

答案 0 :(得分:1)

您需要替换

db_name=$this

db_name=$this->db_name

此外,您需要在该行的末尾放置一个分号。

有了这些错误,你应该得到PHP和PDO错误。检查PHP日志中的错误。您还可以使用“php myscript.php”从命令行运行脚本以查看错误(尽管您需要一些东西来调用您的类)。要显示PDO错误,请在“新PDO”行下方添加以下行:

$this->db_conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

答案 1 :(得分:0)

你应该替换

db_name=$this

db_name=$this->db_name

此外,您需要在该行的末尾放置一个分号。 这是你的代码,我改变它。我测试这段代码并为我工作。我希望为你工作。

<?php
class dbConnection {
    protected $db_conn;
    public $db_name = 'todo';
    public $db_user = 'root';
    public $db_pass = 'root';
    public $db_host = 'localhost';

    function connect(){
    try{
        $this->db_conn = new PDO("mysql:host=$this->db_host;db_name=$this->db_name",$this->db_user,$this->db_pass);
                return $this->db_conn;
}
            catch(PDOException $e)
            {
                return $e->getMessage();
            }
    }
        }

?>

答案 2 :(得分:0)

您的语法错误:

 try {
        $conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password);
                                              ^^^^^^

        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }