<?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);
}
?>
콘솔을 호출 [14 8 월 2011 15시 59분 59초] PHP 공지 : 정의되지 않은 상수 루트의 사용 - 에서 '루트'를 가정/응용 프로그램/데이터베이스에 대한 MAMP/htdocs3/nettuts/PHP/PDO 20 행의/mysql_pdo_connect.php에 액세스하십시오. "은 OS X의 반환 "에
나는 "googled"했고 여기에서 부분적인 대답을 발견했습니다. 그래서 저는 여기에서 완성을 희망했습니다.
TIA는
또한 상수를 보간하는'$의 PHP = "반드시 htmlspecialchars"'해결 방법을 사용해서는 안된다. 가능하다. 그러나 이것이 유용한 특별한 경우는 아니다. 오히려 PDO DSN 초기화 문자열을 분리하고 상수를 정상적으로 연결합니다.'= new PDO ("mysql : host =". DB_HOST. "dbname =". DB_NAME. ";")' – mario