我无法输出 $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
意味着它是一个类变量。您没有定义任何类变量,所以这也不是您想要的。您正在将一个变量传递给函数,因此您想使用它。您需要做的就是 drop $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)
将用于创建列,而不是插入数据。因此,一旦到达该部分,您仍然需要进行一些调整才能使查询正确。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句