Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
请求有关基本php PDO连接的帮助_Php_Mysql_Pdo - Fatal编程技术网

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

请求有关基本php PDO连接的帮助,php,mysql,pdo,Php,Mysql,Pdo,(免责声明: 这段代码来自《PHP解决方案:轻松的动态Web设计》一书的第11章,版权所有David Powers,2006。我认为这是一个很好的资源,从一个显然非常新手的角度来说。这是整本书的源代码。这段代码中的一些代码与书中的代码有点不同。) **编辑:根据Benny Hill的第一条评论更正了代码 **编辑解决方案:在Benny Hill的帮助下结案。 解决方案:更正代码后,我必须手动将浏览器指向以下文件:http://localhost/siteG/mysql/pdo.php( 有人能

(免责声明: 这段代码来自《PHP解决方案:轻松的动态Web设计》一书的第11章,版权所有David Powers,2006。我认为这是一个很好的资源,从一个显然非常新手的角度来说。这是整本书的源代码。这段代码中的一些代码与书中的代码有点不同。)

**编辑:根据Benny Hill的第一条评论更正了代码

**编辑解决方案:在Benny Hill的帮助下结案。 解决方案:更正代码后,我必须手动将浏览器指向以下文件:http://localhost/siteG/mysql/pdo.php(
有人能帮我弄清楚浏览器为什么输出原始php代码吗?

您的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
的第一个声明的右括号,这里有很多问题。您有两个
dbConnect
函数。“function”拼写错误。这里不应该有分号:
function dbConnect()
…当,为这些愚蠢的错误感到抱歉。我已经更正了它们,但是在加载pdo.php文件时,我仍然从浏览器收到相同的消息。您看到任何其他错误吗?Benny,非常感谢您的帮助。这些代码对您有效吗?对我仍然无效--浏览器仍在输出相同的消息。@PatrickMeaney这对我有用。我收到消息“无法连接到数据库”.@PatrickMeaney-我刚刚将用户名/密码和表名更改为在我的环境中有效的值-查询有效并回显了我使用的表中的行数。非常好,我很高兴听到它起作用。我今天晚些时候将在另一台机器和服务器上测试它。@PatrickMeaney-您可能想要复制/粘贴它这个页面上的代码-我感觉你的源代码中有一个离奇的
?>
。如果你在浏览器中看到PHP代码,那是因为服务器已经停止解析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;
    }
} ?>
<!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
// 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;
    }
}
?>