<?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);
}
?>
konsoli w OS X zwrotów „[14-sie-2011 15:59:59] PHP Wskazówka: Użyj o niezdefiniowanej stałej korzenia - Zakłada 'root' w /Aplikacje/MAMP/htdocs3/nettuts/PHP/PDO dla bazy danych Access/mysql_pdo_connect.php na linii 20. "Używanie stałych w PHP PDO wzywa
Mam "googled" i znalazłem częściową odpowiedź tutaj. Tak więc liczyłem na zakończenie tutaj.
TIA
Należy również nie używać '$ = "php"' htmlspecialchars obejście interpolować stałe. Jest to możliwe, ale nie jest to jeden ze szczególnych przypadków, w których jest to użyteczne. Raczej rozpadnij ci początkowy ciąg znaków PDN DSN i spójź stałe: '= nowy PDO (" mysql: host = ". DB_HOST." Dbname = ". DB_NAME."; ")' – mario