我正在嘗試使用函數從數據庫中獲取特定數據。例如,我想從ID爲1的用戶獲取信息。PHP函數中的MySQL查詢
try {
$connection = new PDO("mysql:host=localhost;dbname=database", "root", "password");
}
catch (PDOException $e) {
die("Error: " . $e->getMessage());
}
$connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
function getUser($id) {
global $connection;
$query = $connection->prepare("SELECT * FROM accounts WHERE ID = '$id'");
$query->execute();
while($row = $query->fetch()) {
echo $row['playername'];
$user[] = $row;
}
}
然後在我的index.php中。
include 'inc/db.php';
getUser("1");
foreach($user AS $user) {
echo $user['ID'];
}
第一個回聲工作,我得到的用戶名顯示,但foreach不回顯任何東西。我試圖var_dump($user);
,但最終得到NULL
。
做'foreach($ var as $ var)'沒有多大意義。也就是說,要使用相同的'var'名稱。 – fedorqui
我並不擅長PHP,仍在學習。你會建議我用什麼來從用戶那裏獲取數據? – ibab
您需要了解PHP變量作用域。 'getUser'方法中的'$ user'與您試圖在foreach循環中使用的(undefined)'$ user'完全不同。 –