0
我想創建一個頁面,它將輸出我的數據庫的用戶名。雖然這樣做,我有兩個錯誤,說「未定義的變量:conn in functions.php」和「調用函數prepare.()中的null函數.php」。未定義變量和函數prepare()null
的functions.php - 第6行是錯誤
<?php
require 'database.php';
function getUser($id, $field) {
$query = $conn->prepare("SELECT $field FROM users WHERE id='$id'"); //error line
$query->bind_param($id, $field);
$query->execute();
$run = $query->fetch(PDO::FETCH_ASSOC);
return $run[$field];
}
?>
database.php中
<?php
// 3 variables below removed
$dsn = '';
$username = '';
$password = '';
try {
$conn = new PDO($dsn, $username, $password);
} catch(PDOException $e) {
die("Connection denied: " . $e->getMessage());
}
?>
members.php
<?php
require 'functions.php';
require 'database.php';
$stmt = $conn->prepare('SELECT id FROM users');
$stmt->execute();
while($run_mem = $stmt->fetch(PDO::FETCH_ASSOC)) {
$user_id = $run_mem['id'];
$usernames = getUser($user_id, 'username');
echo $usernames;
}
?>
雖然我使用相同的變量$ conn,但在prepare()語句上的members.php中沒有顯示該錯誤。
如果找到解決方案,將不勝感激!
[可變範圍(http://www.php.net/manual/en/language.variables.scope.php) –
'$ conn'如何進入函數? – AbraCadaver
謝謝@AbraCadaver我只需要剪切並粘貼'database.php';到裏面的功能 –