Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

like image 921
iamjonesy Avatar asked Dec 02 '22 05:12

iamjonesy


2 Answers

$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.

like image 82
Adam Wright Avatar answered Dec 03 '22 17:12

Adam Wright


You have a stray $ on mysql_query. Remove it:

mysql_query($query);
like image 44
zildjohn01 Avatar answered Dec 03 '22 19:12

zildjohn01