【问题标题】:Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM [closed]解析错误:语法错误,意外的 T_PAAMAYIM_NEKUDOTAYIM [关闭]
【发布时间】:2012-09-22 11:28:14
【问题描述】:

我在 php 中使用对象。我有一个对象来连接数据库服务器 $con 对象和 $opt(操作)对象来向数据库服务器发送查询,到目前为止没有问题,问题是我将 $con 对象定义为静态并且我在$opt 对象如下面的代码所示

  class operations{

   public static $con = null;
   public function __construct($tableName = null){

     // Creating  an object of connection 
     self::$con = new config();
     self::$con = self::$con->getConnection();
   }

  } 

所以当我想调用 $con 对象时没有问题

mysql_query($query,$opt::$con) or die (mysql_error());  

但在服务器上出现此错误

Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM

【问题讨论】:

  • $opt 是类操作的对象

标签: php database phpmyadmin


【解决方案1】:

您的范围解析是意外的,这意味着您在错误的上下文中使用它。 你什么时候使用“::”?在selfstatic之后,classname或者一个代表类名的字符串:

 static::PropertyOrMethod;
 self::PropertyOrMethod;
 CLassName::PropertyOrMethod
 $string = "className";
 $string::PropertyOrMethod

取而代之的是,您在类的实例上使用它,而 php 不喜欢它。 你应该使用 mysql_query($query,operations::$con) 或死 (mysql_error());

【讨论】:

  • 谢谢你的工作,你说得对,静态物体不需要物体就能到达它,非常感谢
【解决方案2】:

T_PAAMAYIM_NEKUDOTAYIM 是希伯来语,它指的是 PHP 的作用域解析运算符(“::”)。如果您收到此消息,则表示 PHP 看到了一个类名,并希望您使用范围解析运算符访问它。

更新:

在看到对您的代码进行的编辑后,您在调用中犯了一个错误。正确的语法是:

mysql_query( $query, operations::$con ) or die (mysql_error());

【讨论】:

  • 使用 :: 运算符:):$opt::$con
  • 但我使用它,如你所见 mysql_query($query,$opt::$con) 或 die (mysql_error());
  • 谢谢你,我改变了它和它的工作
猜你喜欢
  • 2013-09-22
  • 2010-12-30
  • 2014-04-02
  • 2011-10-26
  • 2014-09-02
  • 2013-12-15
  • 2014-04-26
  • 2013-10-02
相关资源
最近更新 更多