是否取消了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中的内容?如果是我如何创建访问权限?
答案 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}