【发布时间】:2017-01-23 09:22:17
【问题描述】:
我有一个函数应该根据他的 ID 号给我一个工作人员的名字,所以我的 php 是这样的
$staffId = $_GET['staff_id'];
$staff = staff_load($staffId);
而我的功能是这样的
function staff_load()
{
$dbh = dbh_get(); //connects to database
$sql = 'select user_name from user_staff where user_id = ?';
$stmt = $dbh->prepare($sql);
$stmt->execute();
$staff = $stmt->fetch();
dbh_free($dbh); //disconnects from database
return $staff;
}
但是当我尝试使用 $staff 变量时,它什么也没显示。我无法弄清楚我做错了什么。我尝试了很多变种,除了沮丧之外一无所获。
<td>Book for ' . $staff . '</td>
【问题讨论】:
-
你的函数定义(
function staff_load())需要接受传递给它的值(function staff_load($id)),并在SQL查询中绑定 -
function staff_load()没有参数,它应该是function staff_load($id)然后在你的execute()里面添加execute([$id]) -
您应该从这段代码中得到错误。查看您的错误日志
-
你
->prepare()一个查询,但是你没有绑定参数 -
将error reporting 添加到文件顶部测试时在您打开PHP 标记之后,例如
<?php error_reporting(E_ALL); ini_set('display_errors', 1);以查看它是否产生任何结果。跨度>
标签: php postgresql function variables