Problema comenzi PDO
Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
-
hi_ella
- Mesaje:40
Problema comenzi PDO
Am incercat sa scriu un script de logare folosind PDO.Am o baza de date log si un tabel user cu campurile id,name si pass .
In vectorul $warnings se salveaza eventualele erori legate de completarea datelor in formular.Variabila $conn realizeaza conectiunea.
Problema e urmatoarea:Imi afiseaza tot timpul nume de utilizator deja folosit.Daca imi puteti spune cum sa verific cand se executa comenzile SQL daca imi returneaza valoare.In cazul de fata daca la primul $stm imi gaseste in baza pe cineva cu acelasi nume de utilizator.Nu stiu daca e buna conditia if ($stm){...
Cod: Selectaţi tot
if(count($warnings)==0){
$stm=$conn->prepare('SELECT * FROM user WHERE name=?');
$stm->execute(array($_POST['nume']));
if ($stm){
echo 'Nume de utilizator deja folosit';
}
else{
$stm->closeCursor();
$stm=null;
$stm=$conn->prepare('INSERT INTO user(name,pass) VALUES (?,?)');
$stm->execute(array($_POST['nume'],$_POST['parola']));
if($stm){
echo 'Inregistrare reusita!';
}
}
}
Multumesc anticipat.
P.S. Sarbatori fericite.
MarPlo
Mesaje:4343
Salut
In codul de sus, $stm e o variabila /obiect ce contine interogarea SQL, ea e deja definita, si nu e False.
Pt. ceea ce vrei sa faci, ar trebui sa preiei datele returnate de execute(), si pe acestea sa pui conditie if().
Cam asa:
Cod: Selectaţi tot
$stm = $conn->prepare('SELECT * FROM user WHERE name=?');
if($stm->execute(array($_POST['nume']))) {
while($row = $stm->fetch()) $thename = $row['name'];
}
if (isset($thename)){
echo 'Nume de utilizator deja folosit';
}
else{
// ...
}
Subiecte similare
- O mica problema de animatie CSS
HTML - XHTML - CSS
Primul mesaj
Noroc, MarPlo!
1. Am vizitat pe twitter un site de animatie, in care website-ul actual se numeste CSS-Challenges,com. In respectivul website, sunt...
Ultimul mesaj
1. Multumesc pentru raspuns.
2. Am inteles raspunsul tau: este un mic examen oferit voluntarilor online, pentru a le afla capacitatile de rezolvare...
- Problema curs de Engleza
Sesizari Erori si Greseli
Primul mesaj
Buna.
Am descarcat cursul curs_eurocor-engleza_incepatori_1-16.rar si cand vreau sa-l dezarhivez imi da eroarea asta:
An error occures whilw...
Ultimul mesaj
Buna,
Poti sa descarci cursul de engleza, nivel intermediar, de la urmatoarele linkuri:
- Lectiile 1-16...