【问题标题】:Fatal error: Function name must be a string in.. PHP error致命错误:函数名必须是字符串。PHP 错误
【发布时间】:2011-02-27 07:27:46
【问题描述】:

您好,我有一个名为 User 的类和一个名为 insertUser() 的方法。

function insertUser($first_name, $last_name, $user_name, $password, $email_address, $group_house_id)
  {
    $first_name = mysql_real_escape_string($first_name);
    $last_name = mysql_real_escape_string($last_name);
    $user_name = mysql_real_escape_string($user_name);
    $password = mysql_real_escape_string($password);
    $email_address = mysql_real_escape_string($email_address);

    $query = "INSERT INTO Users
              (FirstName,LastName,UserName,Password,EmailAddress, GroupHouseID) VALUES
              ('$first_name','$last_name','$user_name','$password','$email_address','$group_house_id')";
    $mysql_query($query);
  }

我这样称呼它:

$newUser = new User();
$newUser->insertUser($first_name, $last_name, $user_name, $email, $password,          $group_house_id);

当我运行代码时出现此错误:

Fatal error: Function name must be a string in /Library/WebServer/Documents/ORIOnline/includes/class_lib.php on line 33

有人知道我做错了什么吗?另外,这是我第一次尝试 OO PHP。

干杯,

琼斯

【问题讨论】:

    标签: php class methods oop


    【解决方案1】:

    $mysql_query($query); => mysql_query($query);。注意丢失的美元。如果您尝试对变量使用函数调用语法,它会查找名称由变量值指定的函数。在这种情况下,您没有 mysql_query 变量,因此它返回时什么都没有,这不是字符串,因此会给您错误。

    【讨论】:

      【解决方案2】:

      你在 mysql_query 上有一个流浪的$。删除它:

      mysql_query($query);
      

      【讨论】:

        【解决方案3】:

        只是为了下一个新手,再举一个例子说明这个错误

        " PHP 致命错误:函数名必须是...中的字符串"

        被触发/解决如下;

        假设你有一个关联数组;

        $someArray = array ( 
                         "Index1" => "Value1",
                         "Index2" => "Value2",
                         "Index3" => "Value3"
                      );
        
        echo $someArray('Index1'); // triggers a fatal  error as above
        

        解决方案:

        echo $someArray['Index1']; // <- square brackets - all good now
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-09
          • 1970-01-01
          • 2012-01-03
          • 1970-01-01
          相关资源
          最近更新 更多