2013-04-04 14 views
12

Wciąż jestem nowicjuszem w PHP i MYSQL i staram się uczyć zarówno z nowoczesnymi technikami kodowania. Wszystkie rzeczy, które znajduję w Internecie wydają się przestarzałe.Jakie są najbezpieczniejsze sposoby łączenia się z bazą danych za pomocą PHP?

Czy ktoś może mi coś zasugerować? Jestem również ciekawy, czy poniższy kod jest nieaktualny? Jeśli rzeczywiście jest nieaktualny, czy możesz zaproponować nowsze i bezpieczniejsze metody?

<?php 
    $connection = mysql_connect("localhost", "root", ""); 
    if (!$connection) { 
     die("Oops, error happened: " . mysql_error()); 
    } 
?> 
+1

Spróbuj użyć funkcji 'mysqli_ *' lub PDO (obiektowego traktowania połączeń z bazą danych). – Voitcus

+0

http://stackoverflow.com/questions/3710511/best-way-to-connect-to-mysql-with-php-securely –

+0

Jeśli nie ma zbyt wielu tutoriali na temat pdo, czy warto się uczyć " stara "składnia PHP, a następnie wchodzi w pdo? – user1707535

Odpowiedz

9

Użyj funkcji PDO.

Database Connection Korzystanie PDO:

$conn = new PDO('mysql:host=localhost;dbname=myDatabase', $username, $password); 
+1

@SumitBijavani +1 dla pdo. –

+0

@AdvaitAmin thanks –

2

Podczas uzyskiwania dostępu do bazy danych w PHP , teraz mamy dwie możliwości: MySQLi i PDO.

Aby wybrać, który chcesz użyć spojrzeć here!

A jeśli chcesz wiedzieć, dlaczego nie powinno się używać mysql_ * następnie przyjrzeć this post!

+0

Ładne porównanie obu metod. – Voitcus

0

Pierwszy wszystkim:

Tak, linia jest nieaktualna.

Można użyć zamiast tego funkcji mysqli_*, które mają bardzo podobne zastosowanie, jak mysql_.

Po drugie, jeśli wiesz coś o programowaniu obiektowym, możesz użyć PDO, jak sugerują inne odpowiedzi.

Ostatnia rzecz, o której warto wspomnieć to, że nigdy nie wyświetla komunikatu o błędzie użytkownikowi. Nie musi wiedzieć, że coś poszło nie tak i nie musi wiedzieć, CO poszło nie tak. Więc nigdy die() z komunikatem o błędzie.

3

najbezpieczniejszych sposobów, aby połączyć się z bazą danych z PHP

Jeśli szukasz metod bezpiecznych rzeczywiście trzeba ognioodporny zapytań od iniekcji. MySQL rozszerzenie zostanie wkrótce wycofane, nie oznacza to, że teraz nie jest to safe, tylko dlatego, że społeczność porzuciła dalszy rozwój tego rozszerzenia.

Możesz wypróbować zarówno PDO i mysqli dla zapytań do bazy danych, obie są dobre.

Twój wybór powinien zależy od wybranej opcji bazy -

PDO obsługuje około 12 różnych sterowników, natomiast MySQLi obsługuje MySQL tylko.

Lista kierowców PDO dostępnych

CUBRID (PDO) 
MS SQL Server (PDO) 
Firebird/Interbase (PDO) 
IBM (PDO) 
Informix (PDO) 
MySQL (PDO) 
MS SQL Server (PDO) 
Oracle (PDO) 
ODBC and DB2 (PDO) 
PostgreSQL (PDO) 
SQLite (PDO) 
4D (PDO) 

Source - pdo-drivers-in-php

wsparcie API

PDO i MySQLi zarówno oferuje obiektowe API, ale MySQLi oferuje także procedural API.

Powiązane problemy