NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
IT rekvalifikace s podporou uplatnění. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!

Diskuze: Error pri zápise údajov do databázy

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Neaktivní uživatel:4.10.2014 13:02

Zdravím, pri zápise údajov o používateľovido databázy, mi vyskočí v prehliadači error:

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in...

Pozeral som aj na Googli nejaké riešenia ale aj tak sa neviem pohnúť. Priložím aj kód, ktorý to spracováva:

try {
    $handler = new PDO('mysql:host=localhost;dbname=point','root', '');
} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}

$nick = $_POST['name'];
$mail = $_POST['mail'];
$pass = $_POST['pass'];
$pass_again = $_POST['pass-again'];

$hash_pass = hash('sha256', $pass);

if (empty($nick) || empty($mail) || empty($pass) || empty($pass_again)){
    $error = "...";
}
if($pass != $pass_again) {
    $error = "...";
}
if(strlen($nick) <= 4) {
    $error = "...";
}
else {
    $insert = 'INSERT INTO user_data (user_name, user_mail, user_pass) VALUES(:nick, :mail, :pass)';
    $query = $handler->prepare($insert);
    $query->bindParam(':name', $nick);
    $query->bindParam(':mail', $mail);
    $query->bindParam(':pass', $pass);
    $query->execute();
}

Ak by niekto vedel čo je stým...
Vopred ďakujem za odpoveď :)

Odpovědět
4.10.2014 13:02
Neaktivní uživatelský účet
Avatar
MrPabloz
Člen
Avatar
Odpovídá na Neaktivní uživatel
MrPabloz:4.10.2014 13:07

V sql insertu píšeš :nick, ale ve funkci bindParam dáváš :name :)

Editováno 4.10.2014 13:07
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
Nahoru Odpovědět
4.10.2014 13:07
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na MrPabloz
Neaktivní uživatel:4.10.2014 13:08

Boze ja so k*kot! Dik :D

Nahoru Odpovědět
4.10.2014 13:08
Neaktivní uživatelský účet
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.