我在一個網站上有多個頁面需要來自表格的相同數據。因此,我不想在每個頁面上寫出一條sql語句,而想寫一個函數。從準備好的語句函數返回變量PHP
這裏是我的功能:
function getInfo($u_id) {
global $conn;
$stmt = $conn->prepare("SELECT report.*, users.* FROM report INNER JOIN users ON report.report_user_id=users.user_id WHERE report_user_id = ? ORDER BY report_id DESC LIMIT 5") or die ('Problem Preparing Query');
$stmt->bind_param("i", $u_id);
$stmt->execute();
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
//reports
$report_user_id = $row['report_user_id'];
$rep_date = $row['rep_date'];
$rep_location = $row['rep_location'];
$rep_notes = $row['rep_notes'];
//users
$user_id = $row['user_id'];
$username = $row['username'];
$fname = $row['user_firstname'];
$lname = $row['user_lastname'];
$user_email = $row['user_email'];
$user_image = $row['user_image'];
$user_number = $row['user_number'];
}
$stmt->close();
}
功能的工作原理,在它將從表中的數據,但我不知道如何輸出變量。在函數中使用預處理語句的任何示例都是爲了將數據插入到表中而不是讀取數據。
我已經嘗試綁定結果,創建一個數組,返回每個變量,但在每種情況下,我有錯誤或只能返回第一個變量。
這個函數不會自行拋出任何錯誤,但當我嘗試使用其中一個提取的變量時,它會告訴我它是未定義的。
$u_id = 1;
getInfo($u_id);
<a class="text-inherit" href="profile/index.html"><?php echo $fname .' '. $lname; ?></a>
Notice: Undefined variable: fname in....
所以我的問題是,如何才能得到已在此功能已經獲取的變量?
你想要一個表?創建一個,並將循環的每個循環放入'
我不想要一個表格,這些變量將用於個人資料頁面設置。該函數位於要調用變量的另一個文件(functions.php)中。 –
你的函數getInfo($ u_id)不會返回任何東西,因爲你的'$ fname' /'$ lname'只在函數的範圍內,所以你不能訪問它們。將數據保存到數組,然後返回數組。然後你可以遍歷函數結果。 – Sean