Bu yöntemi çalıştırdığımda bu hatayı aldım. Herhangi biri bana kodda neyin yanlış olduğunu açıklayabilir. Aşağıda erro o değer döndürmez bir insert
çünkü ek N değişkenleri ama hiçbiri alanlarını bağlamak söylüyor benim fonksiyon koduHata: mysqli_stmt :: bind_result(): Bağımlı değişken sayısı, hazırlanan deyimde bulunan alanların sayısıyla eşleşmiyor
public function storeUser($name, $email, $password) {
$uuid = uniqid('', true);
$hash = $this->hashSSHA($password);
$encrypted_password = $hash["encrypted"]; // encrypted password
$salt = $hash["salt"]; // salt
$stmt = $this->conn->prepare("INSERT INTO users(unique_id, name, email, encrypted_password, salt, created_at) VALUES(?, ?, ?, ?, ?, NOW())");
$stmt->bind_param("sssss", $uuid, $name, $email, $encrypted_password, $salt);
$stmt->execute();
$result=$stmt->bind_result($uuid, $name, $email, $encrypted_password, $salt);
// $result = $stmt->execute();
$stmt->close();
// check for successful store
if ($result) {
$stmt = $this->conn->prepare("SELECT * FROM users WHERE email = ?");
$stmt->bind_param("s", $email);
$stmt->execute();
$user = $stmt->fetch();
$stmt->close();
return $user;
} else {
return false;
}
}
Gerçekten şifre sağlamalarının kendi tuzları kullanmak olmamalı ve eğer gerçekten PHP'nin [yerleşik işlevleri] kullanmalıdır (http://jayblanchard.net/ şifre güvenliğini ele almak için proper_password_hashing_with_PHP.html). PHP sürümü 5.5'ten küçükse, 'password_hash()' [uyumluluk paketi] 'ni (https://github.com/ircmaxell/password_compat) kullanabilirsiniz. –
@JayBlanchard bana basit bir örnek verebilir misin –
Kavramları gösteren yorumlarda bağlantılar vardır. –