2017-02-23 6 views
0

mysqlコードをpdo接続に変換するにはどうすればよいですか?私にはいくつかのネットワーキングの問題があるからです。どのようにPDO接続にmysqlを変換できますか?

$gaSql['user'] = "root"; 
$gaSql['password'] = ""; 
$gaSql['db'] = "test"; 
$gaSql['server'] = "localhost"; 

// DB connection 
function dbinit(&$gaSql) { 

// if error rezults 500 
function fatal_error($sErrorMessage = '') { 
header($_SERVER['SERVER_PROTOCOL'] .' 500 Internal Server Error'); 
die($sErrorMessage); 
} 

// connecting to mysql 
if (!$gaSql['link'] = @mysql_connect($gaSql['server'], $gaSql['user'], $gaSql['password'])) { 
fatal_error('Could not open connection to server'); 
} 

// select the DB 
if (!mysql_select_db($gaSql['db'], $gaSql['link'])) { 
fatal_error('Could not select database'); 
} 
} 
+0

PDOについては、[manual](http://php.net/manual/en/pdo.connections.php)&this [post](https:// phpdelusions.net/pdo)。なぜmysql_error()の代わりにエラーを見つけるためにあなたの関数を使っていますか? – gaurav

答えて

2

適切PDOデータベースの接続

<?php 

    $host = '127.0.0.1'; 
    $db = 'your db'; 
    $user = 'root'; 
    $pass = ''; 
    $charset = 'utf8'; 

    $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; 
    $options = [ 
      PDO::ATTR_ERRMODE   => PDO::ERRMODE_EXCEPTION, 
      PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, 
      PDO::ATTR_EMULATE_PREPARES => false, 
      ]; 


$dbh = new PDO($dsn, $user, $pass, $options); 

?> 

参考:https://phpdelusions.net/pdo

を私 これを完全に動作するすべてのpdo接続で使用してください。

0

あなたはこのような何かを試みることができる:

try { 
    $pdo = new PDO('mysql:host=' . $gaSql['server'] . ';dbname=' . $gaSql['db'], $gaSql['user'], $gaSql['password']); 
} catch (PDOException $ex) { 
    if ($ex->getCode() == 1049) { 
     throw new Exception('Unknown Database: ' . $gaSql['db']); 
    } elseif ($ex->getCode() == 1045) { 
     throw new Exception('Wrong credentials for user: ' . $gaSql['user']); 
    } 
} 

希望、このことができます;-)

+0

リソースの読み込みに失敗しました:サーバがステータス500(内部サーバエラー)で応答しました –

+0

PDOに関する良い点は、それ自体で致命的なエラーが発生し、余分なコードが不要になることです –

関連する問題