Rya*_*ard 20 php sqlite syntax-error
我期待这是一个我忽略的基本语法错误,但我无法弄清楚.
在PHP脚本中,我不断收到以下错误.
Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in [path]/scripts/users/database_connection.php on line 4
Run Code Online (Sandbox Code Playgroud)
当我使用a调用连接到数据库的脚本时会发生这种情况include_once().我将我的脚本删除到最基本的代码(留下其他代码所需的代码),它仍然在调用此错误.
<?php
class UserDatabaseConnection
{
$connection = sqlite_open("[path]/data/users.sqlite", 0666);
public function lookupUser($username)
{
// rest of my code...
}
}
$udb = new UserDatabaseConnection;
?>
Run Code Online (Sandbox Code Playgroud)
我已经挣扎了一段时间,只是想知道是否有其他人可以发现我出错的地方.
Sab*_*lik 23
你不能放
$connection = sqlite_open("[path]/data/users.sqlite", 0666);
课外建设.您必须将该行放在函数或构造函数中,但不能将它放在现在的位置.
Lek*_*eyn 19
您不能在类构造中使用函数调用,您应该在构造函数中初始化该值.
此声明可能包括初始化,但此初始化必须是常量值 - 也就是说,它必须能够在编译时进行评估,并且必须不依赖于运行时信息才能进行评估.
一个工作代码示例:
<?php
class UserDatabaseConnection
{
public $connection;
public function __construct()
{
$this->connection = sqlite_open("[path]/data/users.sqlite", 0666);
}
public function lookupUser($username)
{
// rest of my code...
// example usage (procedural way):
$query = sqlite_exec($this->connection, "SELECT ...", $error);
// object oriented way:
$query = $this->connection->queryExec("SELECT ...", $error);
}
}
$udb = new UserDatabaseConnection;
?>
Run Code Online (Sandbox Code Playgroud)
根据您的需要,protected或者private可能是更好的选择$connection.这可以保护您免于意外关闭或弄乱连接.
在成员定义之前使用访问修饰符:
private $connection;
Run Code Online (Sandbox Code Playgroud)
由于您不能在PHP的成员定义中使用函数调用,请在构造函数中执行:
public function __construct() {
$this->connection = sqlite_open("[path]/data/users.sqlite", 0666);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112247 次 |
| 最近记录: |