(声明: 这段代码来自“PHP解决方案:动态Web设计轻松”一书的第11章版权所有David Powers,2006。在我看来,这是一个很好的资源,从一个显然非常新手的Web开发人员的角度来讲。 Here是整本书的源代码。这些代码中的一些与本书中的代码略有不同。 )
**编辑:根据Benny Hill的第一条评论更正的代码。
**编辑解决方案:在Benny Hill的帮助下案件结案。 解决方案:在纠正我的代码之后,我不得不手动将浏览器定向到文件:http:// localhost / siteG / mysql / pdo.php(< - 这是正确的),而不是将文件直接拖到浏览器中,产生这个URL:file:/// C:/wamp/www/siteG/mysql/pdo.php这就是搞砸了我的东西。谢谢Benny Hill。
您好,
使用以下代码连接到我的数据库时遇到问题。
以下是我的浏览器输出内容:
query($sql); $error = $conn->errorInfo(); if (isset($error[2])) die($error[2]); // find out how many records were retrieved $numRows = $result->fetchColumn(); echo $numRows; ?>
以下是代码:
连接文件:conn_pdo.inc.php
<?php
// call this function like this: $conn=dbConnect('admin') or, admin can be query
function dbConnect($type) {
if ($type == 'query') {
$user = 'root';
$pwd = 'root';
}
elseif ($type == 'admin') {
$user = 'root';
$pwd = 'root';
} else {
exit('Unrecognized connection type');
}
}
function dbConnect() {
try {
$conn = new PDO('mysql:host=localhost;dbname=basicgallery', $user, $pwd);
return $conn;
}
catch (PDOException $e) {
echo 'Cannot connect to database';
exit;
}
} ?>
“查询”文件:pdo.php
<!DOCTYPE html>
<html lang="en">
<head>
</head>
<body>
<?php
include('../includes/conn_pdo.inc.php');
// connect to MySQL
$conn = dbConnect('query');
// Prepare sql query
$sql = 'SELECT COUNT(*) FROM images';
// submit the query and capture the result
$result = $conn->query($sql);
$error = $conn->errorInfo();
if (isset($error[2])) die($error[2]);
// find out how many records were retrieved
$numRows = $result->fetchColumn();
echo $numRows;
?>
</body>
</html>
任何人都可以帮我弄清楚浏览器输出原始php代码的原因吗?
答案 0 :(得分:2)
您的conn_pdo.inc.php文件应如下所示:
<?php
// call this function like this: $conn=dbConnect('admin') or, admin can be query
function dbConnect($type){
if ($type == 'query'){
$user = 'root';
$pwd = 'root';
}
elseif ($type == 'admin'){
$user = 'root';
$pwd = 'root';
}else{
exit('Unrecognized connection type');
}
try{
$conn = new PDO('mysql:host=localhost;dbname=basicgallery', $user, $pwd);
return $conn;
}
catch (PDOException $e){
echo 'Cannot connect to database';
exit;
}
}
?>
我删除了dbConnect
的第二个声明以及第一个dbConnect
声明的结束括号。