Php 在概要文件获取中使用参数
在我的Php 在概要文件获取中使用参数,php,Php,在我的DUser类中有一个函数,我想接受参数 public function UserProfile($arg) { $query = <<<SQL SELECT firstName,lastName FROM {$this->tprefix}profile WHERE id = :thissession SQL;
DUser
类中有一个函数,我想接受参数
public function UserProfile($arg) {
$query = <<<SQL
SELECT firstName,lastName
FROM {$this->tprefix}profile
WHERE id = :thissession
SQL;
$resource = $this->db->db->prepare( $query );
$resource->execute( array (
':thissession' => $_SESSION['id'],
));
foreach($resource as $row) {
$this->firstname = $row['firstName'];
$this->lastname = $row['lastName'];
}
switch($arg) {
case 'firstname':
echo $this->firstname;
break;
case 'lastname':
echo $this->lastname;
break;
}
}
public函数UserProfile($arg){
$query=db->prepare($query);
$resource->execute(数组)(
':thissession'=>$\u会话['id'],
));
foreach($row形式的资源){
$this->firstname=$row['firstname'];
$this->lastname=$row['lastname'];
}
交换机($arg){
案例“firstname”:
echo$this->firstname;
打破
案例“lastname”:
echo$this->lastname;
打破
}
}
有了它,我希望用户能够运行
<?php $users = new DUser();
$users->UserProfile("firstname");
您正在执行一个查询,但没有使用PDO方法之一(如PDOStatement::fetch()或::fetchAll())获取结果。此方法的可选参数是:是否需要对象或数组等
EDIT:考虑到它应该返回一个结果,我将使用fetch()方法返回语句下一行的内容,在本例中是一个单行结果
$result = $resource->fetch(PDO::FETCH_ASSOC); //This does the magic
$this->firstname = $result['firstName'];
$this->lastname= $result['lastName'];
$this->db->db->prepare
2xdb似乎有点奇怪;你有什么错误吗?当我运行foreach($resource as$row)
时,实际上不需要resource->fetch
,请欣赏输入,但问题在于我没有向MySQL数据库添加任何内容,并且忘记了指定默认值,因此它也没有返回任何内容。没有什么可以回报的。不过我还是很感激你的意见!是的,我确信它是db->db->prepare
,这样我就可以在以后需要的时候把它改成db->sitedb
db->otherdb
。哈哈哈,好吧!!大便发生了:P
$result = $resource->fetch(PDO::FETCH_ASSOC); //This does the magic
$this->firstname = $result['firstName'];
$this->lastname= $result['lastName'];