当我在数据库中键入connect()时,本地主机服务器显示为空白


When I type in connect() to my database, my localhost server comes up blank

connect()函数是非计算函数还是其他函数?当我尝试使用该函数连接到mysql数据库时,我的页面会停止工作吗?我在做杰弗里方式30天查询课程第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中的内容?如果是,我该如何创建访问权限?

您的函数可能应该返回一个连接:

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添加一个参数。无需将代码修改为函数。

当我检查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}