<?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);
}
?>
La consola de OS X devuelve "[14-Ago-2011 15:59:59] PHP Aviso: El uso de la raíz de constante indefinida - asumido 'root' en /Aplicaciones/MAMP/htdocs3/nettuts/PHP/PDO para la base de datos Acceso/mysql_pdo_connect.php en la línea 20. "El uso de constantes PHP DOP en las llamadas
He "buscado en Google" y he encontrado una respuesta parcial aquí. Así que esperaba terminar aquí.
TIA
También debe no utilizar los '$ php htmlspecialchars = ""' solución para interpolar constantes. Eso es posible, pero no es uno de los casos especiales en los que esto es útil. En lugar de romper la cadena de inicio PDO DSN y concat las constantes normalmente: '= nuevo PDO (" mysql: host = ". DB_HOST." Dbname = ". DB_NAME."; ")' – mario