我在使用PDO连接中的常量以及调用包含PDO连接的函数时遇到问题。在PDO连接字符串中使用常量并使用PDO连接调用函数
我正在使用函数仅在需要时连接数据库。在不需要数据库工作的页面上,不需要连接。
我试了很多,但不能确定我要去哪里错了。
<?php
/** The name of the database */
define('DB_NAME', 'dev-db');
/** MySQL database username */
define('DB_USER', 'root');
/** MySQL database password */
define('DB_PASSWORD', 'dxdb');
/** MySQL hostname */
define('DB_HOST', 'localhost');
function connect(){
try
{**//Here's where the first problem is**
$conn = new PDO('mysql:host=DB_HOST;dbname=DB_NAME',DB_USER,DB_PASSWORD);
$conn ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e)
{
echo 'ERROR: ' . $e->getMessage();
}
}
connect();// Here's where it fails again
$sql = 'insert into names (names) values (:what)';
$what = "testValue";
$stmt = $conn->prepare($sql);
$stmt->bindParam(':what', $what, PDO::PARAM_STR, 5);
$stmt->execute();
你要串联这样的'$康恩=新PDO(“mysql的字符串: host ='。DB_HOST。'; dbname ='.DB_NAME。',DB_USER,DB_PASSWORD);' – HamZa 2013-04-23 08:20:42
哦!旧的东西不需要连接''$ link = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);''所以我认为它在这里是一样的。 – Norman 2013-04-23 08:22:26
那么,PHP会如何判断'echo'DB_HOST';'是一个字符串还是常量?这是一个字符串:-) – HamZa 2013-04-23 08:23:20