我在Code Igniter中创建了一个用户模型。
class User extends CI_Model {
function __construct() {
parent::__construct();
}
public function new($username, $email, $password, $studentID="") {
$this->db->query("INSERT INTO user VALUES (0, '$username', '$email', '$password', '$studentID')");
}
}
然而,我得到这个PHP错误.
Parse error: syntax error, unexpected T_NEW, expecting T_STRING in /home/davidfaux/testApp/application/models/user.php on line 12
12号线,顺便说一句,是这条线。
public function new($username, $email, $password, $studentID="") {
什么是T_NEW?为什么会出现错误?
3条答案
按热度按时间trnvg8h31#
new
是用于创建新对象的保留字,如new Person('Joe')
。您应该重命名函数。请参见http://php.net/manual/en/reserved.keywords.php以获取参考。
这些词在PHP中有特殊的含义。它们中的一些表示看起来像函数的东西,一些表示看起来像常量的东西,等等--但实际上它们不是:它们是语言构造。2你不能使用下列任何一个词作为常量,类名,函数名或方法名。3使用它们作为变量名通常是可以的,但是可能会导致混淆。
c0vxltue2#
new
函数是用于示例化对象的保留关键字,并且不是可重写函数。qv7cva1a3#
接受的答案是正确的。
但我的情况是不同的,我被重定向到这里,为相同的错误搜索。
我的案例:
该项目在server 1上运行。
对于研发,我在server 2上上传了相同的代码。
在server 2上,我遇到了上述错误。
**原因:
“PHP 7.0中添加了对”NEW“的支持”**
所以我检查了我的PHP版本,它是较低的。
使用phpinfo()检查PHP版本;