我遇到的问题是mysqli-connection没有打开或被其他文件中包含的函数使用。请看下面的设置。如果我把所有代码都放到一个文件中,它可以很好地工作,但这样就没有任何反应。
connection.php
<?php
function connect() {
$db = new mysqli("host", "user", "pswrd", "database");
return $db;
}
?>
的functions.php
<?php
function get_user_email($user_id) {
$sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
if(!$result = $db->query($sql)) {die("woops!");}
$data = $result->fetch_assoc();
return $data['email'];
}
?>
的index.php
<?php
include("connection.php");
include("functions.php");
$db = connect();
echo get_user_email(1);
?>
答案 0 :(得分:0)
通过更改文件functions.php:
解决了这个问题<?php
function get_user_email($user_id) {
global $db; //This is what was needed!
$sql = "SELECT email FROM user_acc WHERE user_id='$user_id'";
if(!$result = $db->query($sql)) {die("woops!");}
$data = $result->fetch_assoc();
return $data['email'];
}
?>
感谢您的常识提供导致回答此问题的间接答案;)