VGOo
New member
Hab zur Zeit ein ziemlich nerviges Problem und ich weiß seit einigen Tagen nicht waren dieser Fehler auftritt. Hoffentlich kann mir einer von euch sagen wo der Hund in der ganzen Geschichte begraben ist.
Ganze Funktion getUserByUsername:
/**
* Ermittelt die Daten f�r einen Benutzer
*
* @param username Benutzername
* @author WoAn 03.10.2011
*/
function getUserByUsername( $username )
{
self::initialize();
$stmt = $this->mySqlDb->prepare( "select * from users where username=?" );
if ( $stmt != false )
{
$isOk = $stmt->bind_param( "s", $username );
if ( $isOk )
{
$isOk = $stmt->execute();
}
if ( $isOk )
{
$isOk = self::evaluateUserData( $stmt, $this );
}
$error = $stmt->error;
$errno = $stmt->errno;
$stmt->close();
}
else
{
$isOk = false;
}
if ( $isOk == false )
{
if ( $error == "" )
{
$error = $this->mySqlDb->error;
$errno = $this->mySqlDb->errno;
}
if ( $error == "" )
{
$lastError = error_get_last();
$error = $lastError['message'];
}
throw new MySqlException( $error, $errno );
}
self::getRights();
$this->worktimes = self::getWorktimeInternal();
$this->transfers = self::getTransfersInternal();
}
Hier der Funktionsaufruf:
Und hier die Funktion in der es zum Fehler kommt:
/**
* Ermittelt die Benutzerdaten
*/
private function evaluateUserData( $stmt, $data )
{
$isOk = $stmt->bind_result( $id, $username, $firmId, $defaultTown, $defaultWorktype, $defaultProject,
$defaultOffert, $firstName, $lastName, $email, $passwords, $rights, $birthday, $entry,
$separation, $loginTime, $lastLogin, $defaultStartTime, $defaultEndTime, $defaultPause, $defaultText,
$projectFormat, $mobilePhone, $disabled, $worktime, $holidays );
if ( $isOk )
{
while( $stmt->fetch() )
{
$userData = $data;
if ( is_array( $data ) )
{
$userData = new User();
}
$userData->setId( $id );
$userData->setUsername( $username );
$userData->setFirmId($firmId);
$userData->setDefaultTown($defaultTown);
$userData->setDefaultWorktype($defaultWorktype);
$userData->setDefaultProject($defaultProject);
$userData->setDefaultOffert($defaultOffert);
$userData->setFirstName($firstName);
$userData->setLastName($lastName);
$userData->setEmail($email);
$userData->setPassword($passwords);
$userData->setRights($rights);
$userData->setBirthday($birthday);
$userData->setEntryDate($entry);
$userData->setSeparationDate($seperation);
$userData->setLoginTime($loginTime);
$userData->setLastLogin($lastLogin);
$userData->setdefaultStartTime($defaultStartTime);
$userData->setdefaultEndTime($defaultEndTime);
$userData->setdefaultPause($defaultPause);
$userData->setdefaultText($defaultText);
$userData->setprojectFormat($projectFormat);
$userData->setMobilePhone($mobilePhone);
$userData->setDisabled($disabled);
$userData->setWorktime($worktime);
$userData->setHolidays($holidays);
if ( is_array( $data ) )
{
array_push( $data, $userData );
}
}
}
return( $isOk );
}
}
Fehler:
Danke schon im Voraus für eure Hilfe
Ganze Funktion getUserByUsername:
Spoiler:
/**
* Ermittelt die Daten f�r einen Benutzer
*
* @param username Benutzername
* @author WoAn 03.10.2011
*/
function getUserByUsername( $username )
{
self::initialize();
$stmt = $this->mySqlDb->prepare( "select * from users where username=?" );
if ( $stmt != false )
{
$isOk = $stmt->bind_param( "s", $username );
if ( $isOk )
{
$isOk = $stmt->execute();
}
if ( $isOk )
{
$isOk = self::evaluateUserData( $stmt, $this );
}
$error = $stmt->error;
$errno = $stmt->errno;
$stmt->close();
}
else
{
$isOk = false;
}
if ( $isOk == false )
{
if ( $error == "" )
{
$error = $this->mySqlDb->error;
$errno = $this->mySqlDb->errno;
}
if ( $error == "" )
{
$lastError = error_get_last();
$error = $lastError['message'];
}
throw new MySqlException( $error, $errno );
}
self::getRights();
$this->worktimes = self::getWorktimeInternal();
$this->transfers = self::getTransfersInternal();
}
Hier der Funktionsaufruf:
Spoiler:
$isOk = self::evaluateUserData( $stmt, $this );
Und hier die Funktion in der es zum Fehler kommt:
Spoiler:
/**
* Ermittelt die Benutzerdaten
*/
private function evaluateUserData( $stmt, $data )
{
$isOk = $stmt->bind_result( $id, $username, $firmId, $defaultTown, $defaultWorktype, $defaultProject,
$defaultOffert, $firstName, $lastName, $email, $passwords, $rights, $birthday, $entry,
$separation, $loginTime, $lastLogin, $defaultStartTime, $defaultEndTime, $defaultPause, $defaultText,
$projectFormat, $mobilePhone, $disabled, $worktime, $holidays );
if ( $isOk )
{
while( $stmt->fetch() )
{
$userData = $data;
if ( is_array( $data ) )
{
$userData = new User();
}
$userData->setId( $id );
$userData->setUsername( $username );
$userData->setFirmId($firmId);
$userData->setDefaultTown($defaultTown);
$userData->setDefaultWorktype($defaultWorktype);
$userData->setDefaultProject($defaultProject);
$userData->setDefaultOffert($defaultOffert);
$userData->setFirstName($firstName);
$userData->setLastName($lastName);
$userData->setEmail($email);
$userData->setPassword($passwords);
$userData->setRights($rights);
$userData->setBirthday($birthday);
$userData->setEntryDate($entry);
$userData->setSeparationDate($seperation);
$userData->setLoginTime($loginTime);
$userData->setLastLogin($lastLogin);
$userData->setdefaultStartTime($defaultStartTime);
$userData->setdefaultEndTime($defaultEndTime);
$userData->setdefaultPause($defaultPause);
$userData->setdefaultText($defaultText);
$userData->setprojectFormat($projectFormat);
$userData->setMobilePhone($mobilePhone);
$userData->setDisabled($disabled);
$userData->setWorktime($worktime);
$userData->setHolidays($holidays);
if ( is_array( $data ) )
{
array_push( $data, $userData );
}
}
}
return( $isOk );
}
}
Fehler:
Spoiler:
mysqli_stmt::bind_result() [
You do not have permission to view link please Anmelden or Registrieren
]: Number of bind variables doesn't match number of fields in prepared statement in D:\xampp1.7\xampp\htdocs\ddev\class\user.php on line 2114Danke schon im Voraus für eure Hilfe
Zuletzt bearbeitet: