Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在概要文件获取中使用参数_Php - Fatal编程技术网

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'];