2013-04-04 24 views
12

私はまだPHPとMYSQLの新人です。私は現代のコーディングテクニックで両方を学ぼうとしています。私がオンラインで見つけたものはすべて古くなったようです。PHPでデータベースに接続する最も安全な方法は何ですか?

誰でも私のために何かを提案できますか?私はまた、以下のコードが古くなっていれば興味がありますか?それが時代遅れの場合は、より新しい、より安全な方法を提案できますか?

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

mysqli_ *関数やPDO(データベース接続のオブジェクト指向処理)を試してみてください。 – Voitcus

+0

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

+0

pdoに関するチュートリアルがたくさんない場合は、古い "PHPの構文とpdoに来る? – user1707535

答えて

9

PDO機能を使用してください。 PDOを使用して

データベース接続:

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

@SumitBijavani +1 for pdo。 –

+0

@AdvaitAminありがとう –

2

を見てみましょうMySQLiとPDOの2つの選択肢があります。あなたが見てhere!

を取ると、あなたはmysql_を使用してはならない理由を知りたい場合は*、すべての最初のthis post!

+0

両方の方法のニース比較。 – Voitcus

0

を見てみ使用したいかを選択するには

はい、行が古くなりました。

mysqli_*の代わりにmysql_とよく似た機能を使用できます。

第2に、オブジェクト指向プログラミングについて知っていれば、他の答えで示唆されているように、PDOを使うことができます。

は、ユーザにエラーメッセージを表示することはありません。彼は何かが間違っていることを知る必要はなく、何が間違っていたかを知る必要はありません。したがって、決してdie()というエラーメッセージが表示されます。あなたが実際に注射から証明クエリを発射する必要があり、安全な方法を探しているなら

3

最も安全な方法は、PHP

でデータベースに接続します。 MySQL拡張機能は間もなく廃止される予定です。現在、拡張機能のコミュニティがさらに拡張されているケースは、safeではありません。

データベース照会にはPDOmysqliの両方を試すことができます。

あなたの選択はあなたのデータベースの選択に依存しなければならない - MySQLiのみMySQLをサポートしながら、

PDOは、約12種類のドライバをサポートしています。可能なPDOドライバの

一覧

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) 

ソース - pdo-drivers-in-php

APIのサポート

PDOMySQLi両方がオブジェクト指向のAPIを提供していますが、MySQLiをも提供していますprocedural API