繁体   English   中英

我如何在 PHP 中使用动态变量

[英]How do i work with dynamic variables in PHP

我无法输出 $id 的值,

我的第一个代码是:

class add_User
{
    public function User($id) { //<-- in //
        $statement = "INSERT INTO `users` " . $this->$id. "varchar(255)"; // just nothing
        print($statement); //<-- out //
    }

    public function Moderator($id) {
        $statement = "INSERT INTO `users` " . $this->$id . "varchar(255)"; // just nothing
        print($statement);
    }
}

$check_statement = new add_User();

$check_statement->User('user1');

$check_statement->Moderator('mod1');

我当前的代码工作正常 $this->$id , $id

你在这里有几个问题:

  • $this->$id将是一个变量类变量。 如果您传递给函数的 ID 是“abc”,那么它将查找类变量/属性$this->abc
  • $this暗示它是一个类变量。 您没有定义任何类变量,所以这也不是您想要的。

您正在将一个变量传递给函数,因此您想使用它。 您需要做的就是删除$this ,您就会得到您要找的东西。

class add_User
{
    public function User($id) { //<-- in //
        $statement = "INSERT INTO `users` " . $id. "varchar(255)"; // just nothing
        print($statement); //<-- out //
    }

    public function Moderator($id) {
        $statement = "INSERT INTO `users` " . $id . "varchar(255)"; // just nothing
        print($statement);
    }
}

这将修复您的打印。 对于下一步,正如我在评论中提到的,这不是有效的 sql。 varchar(255)将用于创建列,而不是插入数据。 因此,一旦到达该部分,您仍然需要进行一些调整才能使查询正确。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM