请求有关基本php PDO连接的帮助

时间:2014-01-14 18:55:21

标签: php mysql pdo

(声明: 这段代码来自“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代码的原因吗?

1 个答案:

答案 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声明的结束括号。