2011-06-16 21 views
7

Dawno używałem mysql_query() do robienia moich rzeczy, ale teraz przechodzę do przygotowanych instrukcji z dwóch powodów:
wydajność i brak wtrysku sql możliwośćPHP: Przygotowane instrukcje (newbie), wystarczy potwierdzić to o SQL injection

ten sposób używam go:

function add_new_user($e_mail1,$username,$pass) 
    { 
    require_once "db.php"; 

$stmt = $mysqli->prepare("INSERT INTO un_users VALUES ('',?, ?,0,0,?,0)"); 
$stmt->bind_param('sss', $e_mail1, $username,$pass); 

$stmt->execute();  
$stmt->close(); 
    } 

nie jestem odkażania trzy zmienne ($e_mail1,$username,$pass) kiedy przekazać je do funkcji lub cokolwiek innego.

Czy robię to we właściwy sposób, czy gdzieś coś skręciłem, czy muszę zrobić coś innego? Jestem początkującym z tym (nadal przechodzącym przez docs), więc proszę wziąć pod uwagę swoją wiedzę: D

Dzięki!

+0

Wygląda poprawnie, ale nadal możesz chcieć trochę odkażać wejście ... – tplaner

+0

Przygotowane oświadczenia zadbają o twoją higienę. Pamiętaj, że nie zapobiegają wprowadzaniu danych BAD do bazy danych ... tylko że dane, których używasz, nie "rozbijają" zapytania, powodując błąd składni lub podważając cel zapytania. –

+1

@evolve Co masz na myśli? – alex

Odpowiedz

Powiązane problemy