当我输入connect()到我的数据库时,我的localhost服务器出现空白

时间:2014-11-09 17:00:27

标签: php mysql

是否取消了connect()函数?当我尝试使用该功能连接到mysql数据库时,我的页面停止工作? 我正在做杰弗里方式30daysjquery课程第25课

这是我的index.php文件中的代码

<?php 
require 'functions.php'

if ( isset($_POST['q'])) {
    connect();
}

include 'views/index.tmpl.php' 

?>

这是我的functions.php文件中的代码

<?php 

function connect(){
    global $pdo; // set it as global so other functions can access it
    $pdo = new PDO("mysql:host=localhost;dbname=sakila", "root", "root");
}

function get_actors (){

}
?>

可能是因为我无法访问functions.php中的内容?如果是我如何创建访问权限?

2 个答案:

答案 0 :(得分:1)

您的功能应该返回连接:

function connect(){
    $pdo = new PDO("mysql:host=localhost;dbname=sakila", "root", "root");
    return $pdo;
}

然后,您的函数get_actors()可能是

$db_connection = connect();
get_actors( $db_connection );


function get_actors( $pdo ) {
    //
    // You use the database connection $pdo to get actors
    //
}

您必须在函数get_actors中添加参数。无需将代码修改为函数。

答案 1 :(得分:0)

当我检查MAMP时,如果我想使用脚本连接到MySQL服务器,这就是我的信息。

Host    localhost
Port    8889
User    root
Password    root
Socket  /Applications/MAMP/tmp/mysql/mysql.sock

thrown in /Applications/MAMP/htdocs/lesson-25/functions.php on line 5
[09-Nov-2014 23:01:47 Europe/Berlin] PHP Fatal error:  Uncaught exception 'PDOException' with message 'could not find driver' in /Applications/MAMP/htdocs/lesson-25/functions.php:5
Stack trace:
#0 /Applications/MAMP/htdocs/lesson-25/functions.php(5): PDO->__construct('mysql:host=loca...', 'root', 'root')
#1 /Applications/MAMP/htdocs/lesson-25/functions.php(9): connect()
#2 /Applications/MAMP/htdocs/lesson-25/index.php(3): require('/Applications/M...')
#3 {main}