<?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);
}
?>
控制檯[08月14日2011年15點59分59秒] PHP公告:未定義的常量根使用 - 假設 '根' 在 /應用程序/ MAMP/htdocs3/nettuts/PHP/PDO for Database Access/mysql_pdo_connect.php on line 20.「在PDO使用PHP常量在OS X的回報「要求
我已經「谷歌搜索」,並找到了部分答案。所以我希望在這裏完成。
TIA
你也不要使用'$ PHP = 「用htmlspecialchars」'解決方法進行插值常數。這是可能的,但不是其中一個有用的特殊情況。通常情況下,PDO DSN初始化字符串和concat常量:'= new PDO(「mysql:host =」。DB_HOST。「dbname =」。DB_NAME。「;」)' – mario