Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何将mysql转换为PDO连接?_Php_Mysql_Pdo - Fatal编程技术网

Php 如何将mysql转换为PDO连接?

Php 如何将mysql转换为PDO连接?,php,mysql,pdo,Php,Mysql,Pdo,如何将下面的mysql代码转换为pdo连接?因为我有一些网络问题 $gaSql['user'] = "root"; $gaSql['password'] = ""; $gaSql['db'] = "test"; $gaSql['server'] = "localhost"; // DB connection function dbinit(&$gaSql) { // if error rezults 500 function fatal_error($sErrorMessage =

如何将下面的mysql代码转换为pdo连接?因为我有一些网络问题

$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');
}
}

您可以尝试以下方法:

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']);
    }
}

希望,这有帮助;-)

您可以尝试以下方法:

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']);
    }
}

希望,这有帮助;-)

正确的PDO db连接

<?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);

?>

参考:


我在所有的pdo连接中都使用它,它可以完美地工作

正确的pdo db连接

<?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);

?>

参考:


我在我所有的pdo连接中都使用了它。它工作得非常好。

加载资源失败:服务器响应状态为500(内部服务器错误)。pdo的优点是它可以自行发出致命错误,使任何额外的代码多余。加载资源失败:服务器响应状态为500(内部服务器错误)PDO的好处是它可以自行发出致命错误,使任何额外的代码都成为PDO试图读取的多余代码&这一点。为什么您要使用函数来查找错误,而不是使用
mysql\u error()
。对于PDO,请尝试阅读此内容。为什么要使用函数来查找错误,而不是
mysql\u error()