Ölümcül hata: Fonksiyon adı içeri bir dize olmalıdır PHP hatası.

2 Cevap php

Merhaba ben bir sınıf olarak adlandırılan kullanıcı ve insertUser adlı bir yöntem var ().

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);
  }

Ve ben bu gibi diyoruz:

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

Ben kodu çalıştırdığınızda bu hatayı alıyorum:

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

Herkes ben wronly ne yapıyorum biliyor musun? Ayrıca, bu OO PHP benim ilk denemem.

Alkış,

Jonesy

2 Cevap

$mysql_query($query); => mysql_query($query);. Eksik dolar unutmayın. Eğer bir değişken işlev çağrısı sözdizimi kullanmayı denerseniz, bu değişkenin değeri tarafından verilen adla bir fonksiyonu arar. Bu durumda, bir mysql_query değişkeni yok, bu yüzden bir dize değil, ve böylece size hata veren bir şey, geri geliyor.

Sen mysql_query üzerinde başıboş $ var. Onu çıkarın:

mysql_query($query);