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
$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.
You have a stray $
on mysql_query. Remove it:
mysql_query($query);
Just for the next newbie, another example of how this error
" PHP Fatal error: Function name must be a string in ..."
is triggered / and solved is as below;
Say you have an associative array;
$someArray = array (
"Index1" => "Value1",
"Index2" => "Value2",
"Index3" => "Value3"
);
echo $someArray('Index1'); // triggers a fatal error as above
Solution:
echo $someArray['Index1']; // <- square brackets - all good now
精彩评论