<?php # Nettuts Tutorial using PHP Data Objects (PDO),
/**This file contains the database access information
*This file also establishes a connection to mySQL
*and selects the database.
*Set the database access information as constants:
**/
// print_r(PDO::getAvailableDrivers());
DEFINE('DB_USER', 'root');
DEFINE('DB_PASSWORD', 'root');
DEFINE('DB_HOST', 'localhost');
DEFINE('DB_NAME', 'sitename');
$php = "htmlspecialchars";
try {
#MySQL with PDO_MYSQL
// $DBH = new PDO("mysql:host={$php(DB_HOST)}; dbname={$php(DB_NAME)}", root, root};
$DBH = new PDO("mysql:host=localhost; dbname= sitename", root, root);
$DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
# UH-OH! Typed DELECT instead of SELECT!
$DBH->prepare('DELECT name FROM people');
} catch (PDOException $e) {
echo "I'm sorry, Dave. I'm afraid I can't do that.";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
?>
Console trong OS X trở lại "[14-Aug-2011 15:59:59] PHP Chú ý: Sử dụng của rễ liên tục không xác định - giả 'root' trong /Ứng dụng/MAMP/htdocs3/nettuts/PHP/PDO cho Cơ sở dữ liệu Truy cập/mysql_pdo_connect.php trên dòng 20. "Sử dụng hằng PHP PDO gọi
Tôi đã "googled" và tìm thấy câu trả lời một phần ở đây. Vì vậy, tôi đã hy vọng hoàn thành ở đây.
TIA
Bạn cũng không nên sử dụng '$ php = "htmlspecialchars"' workaround để suy hằng số. Đó là có thể, nhưng không phải là một trong những trường hợp đặc biệt mà điều này là hữu ích. Thay vì phá vỡ bạn PDO DSN init chuỗi và concat hằng số bình thường: '= new PDO (" mysql: host = ". DB_HOST." Dbname = ". DB_NAME."; ")' – mario