【发布时间】:2017-08-21 22:23:31
【问题描述】:
我有一个 index.php,它是这样的:
require_once("../resources/config.php");
require_once(LIBRARY_PATH . "/mysql.php");
...
if(checkIfMailExists($email)) {
$error = true;
$errormsg = "This e-mail is already in use!";
}
mysql.php 是:
try {
$pdo = new PDO('mysql:host=' . $config['db']['db1']['host'] . ';dbname=' . $config['db']['db1']['dbname'], $config['db']['db1']['username'], $config['db']['db1']['password']);
}catch(PDOException $e){
echo "Cant connect to mysql DB!";
}
function checkIfMailExists($email) {
$query = "SELECT * FROM users WHERE email = '".$email."'";
$num = $pdo->query($query);
if($num->rowCount() > 0){
return true;
}else{
return false;
}
}
看来,来自函数的 $pdo 是未定义的。即使我删除了try-catch。 我修复它的唯一方法 - 我将 $pdo 作为参数发送给函数,但这似乎是错误的。有什么建议吗?
【问题讨论】:
标签: php mysql variables pdo visibility