[英]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.