gpt4 book ai didi

php - 从准备好的语句函数返回变量 PHP

转载 作者:行者123 更新时间:2023-11-29 11:05:45 25 4
gpt4 key购买 nike

我的网站上有多个页面需要表中的相同数据。因此,我不想在每个页面上写一个 sql 语句,而是想编写一个函数。

这是我的功能:

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();
}

该函数有效,因为它从表中获取数据,但我不知道如何输出变量。我见过的在函数中使用准备好的语句的任何示例都是为了将​​数据插入表中而不是获取数据。

我尝试过绑定(bind)结果、创建数组、返回每个变量,但在每种情况下我都会出错或只能返回第一个变量。

该函数本身不会引发任何错误,但当我尝试使用获取的变量之一时,它告诉我它未定义。

 $u_id = 1;
getInfo($u_id);

<a class="text-inherit" href="profile/index.html"><?php echo $fname .' '. $lname; ?></a>


Notice: Undefined variable: fname in....

所以我的问题是,如何获取该函数中已获取的变量?

最佳答案

这是单行结果解决方案:

function getInfo($u_id){
global $conn;
$stmt = $conn->query("SELECT * FROM report INNER JOIN users ON report.report_user_id=users.user_id WHERE report.report_user_id=$u_id ORDER BY DESC LIMIT 1") || die ('Problem Preparing Query');
if($stmt->num_rows > 0){
return $stmt->fetch_object();
}
else{
// no results were found
}
return false;
}
$obj = getInfo($u_id);
if($obj){
echo "<a class='text-inherit' href='profile/index.html'>{$obj->user_firstname} {$obj->user_lastname}</a>";
}

关于php - 从准备好的语句函数返回变量 PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41434421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com