我有一个名为getPerso的方法,它返回一个包含我的成员的所有信息的数组。方法如下:
public function getPerso($id)
{
if(is_int($id))
{
$req = $this->_db->prepare('SELECT * FROM personnages WHERE id = :id');
$req->execute(array(
'id' => $id));
$donnee = $req->fetch();
$req->closeCursor();
return $donnee;
}
}
它只需要一个int作为参数。我使用$_SESSION['id']
,它包含参数登录成员的id。但是,当我执行这个代码时:
$donnee = $manager->getPerso($_SESSION['id']);
var_dump($donnee, $_SESSION['id']);
我的$donnee变量为空。以下是我从var_dump:中得到的内容
NULL字符串(1)"4"
我的$donnee变量应该包含一个数组,其中包含成员的所有信息。希望有人能解决问题。
使用is_numeric()而不是is_int()。如果将数字作为字符串传递,is_int()将返回false