<?php
class DbOperations
{
private $con;
function __construct()
{
require_once dirname(__FILE__).'/DbConnect.php';
$db = new DbConnect();
$this->con = $db->connect();
}
public function createUser($email, $password, $gender, $dob_year, $dob_month, $dob_day, $time_registered)
{
if($this->isUserExist($email))
{
echo "0";
return 0;
}
else
{
$stmt = $this->con->prepare("insert into table_user (`id`, `email`, `password`, `gender`, `dob_year`, `dob_month`, `dob_day`, `time_registered`) values (NULL, ?, ?, ?, ?, ?, ?, ?);");
$stmt->bind_param("sssssss", $email, $password, $gender, $dob_year, $dob_month, $dob_day, $time_registered);
if($stmt->execute())
{
echo "1";
return 1;
}
else
{
echo "2";
return 2;
}
}
}
private function isUserExist($email)
{
$stmt = $this->con->prepare("select id from table_user where email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$stmt->store_result();
return $stmt->num_rows > 0;
}
}
?>
Hallo, ich versuche eine Registrierungsseite zu machen. Die createUser-Funktion funktioniert einwandfrei, wenn ich die Methode isUserExists() mit true oder false zurückgebe. Es scheint wie $ stmt-> num_rows> 0; immer falsch zurück, aber ich sehe, dass Daten in der Datenbank gespeichert werden. Es soll den Rückgabewert bei der Registrierung des Benutzers auf "true" ändern, gibt aber immer "false" zurück. Was ist daran falsch?php isUserExist immer falsch
Was ist der Rückgabewert von '$ this-> Con-> prepare',' $ stmt-> execute(); 'und' $ stmt-> store_result() '? Haben Sie auch Fehlerberichte aktiviert? (Siehe [Wie bekomme ich PHP-Fehler zur Anzeige] (https://stackoverflow.com/questions/1053424/how-do-i-get-php-errors-to-display)) – ccKep
beide sind 1 und 1 – Eric