Fatal error: Function name must be a string in.. PHP error

36,182

Solution 1

$mysql_query($query); => mysql_query($query);. Note the missing dollar. If you try to use function call syntax on a variable, it looks for a function with the name given by the value of the variable. In this case, you don't have a mysql_query variable, so it comes back with nothing, which isn't a string, and thus gives you the error.

Solution 2

You have a stray $ on mysql_query. Remove it:

mysql_query($query);
Share:
36,182
iamjonesy
Author by

iamjonesy

Lead dev at Appointedd. Based in Edinburgh, Scotland. A few of my sites: http://findr.fm http://defaqto.io http://masquerade.eu01.aws.af.cm

Updated on May 25, 2020

Comments

  • iamjonesy
    iamjonesy almost 4 years

    Hi I have a class called User and a method called 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);
      }
    

    And I call it like this:

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

    When I run the code I get this error:

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

    Anyone know what I am doing wronly? Also, this is my first attempt at OO PHP.

    Cheers,

    Jonesy