PDO检索表数据 [英] PDO retrieve table data

查看:71
本文介绍了PDO检索表数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是过去使用过MySQL的PDO的新手.我创建了一个单独的文件以连接到数据库.

I'm new to PDO having used mySQL in the past. I have created a seperate file to connect to the database.

<?php
 $dbHost='localhost';
 $databaseName='dm_projectdb';
 $username='blah';
 $password='blah';

 $db= new PDO("mysql:host=$dbHost; dbName=$databaseName;
    charset=utf8", "$username","$password");
 $db->setAttribute(PDO::ATTR_ERRMODE,
                PDO::ERRMODE_EXCEPTION);
 $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);  
            ?>

在另一个文件中,我试图检索并打印该表.

And in another file im trying to retrieve and print the table.

<?php   
require_once('connect.php');
$sql= "SELECT CourseID, Course_Name  FROM coursename WHERE CourseID = 1";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':CourseID', $CourseID, PDO::PARAM_INT);
$stmt->execute();

?>  

该表称为带有课程名和课程ID行的课程名. 当我运行它时,我得到Notice: Undefined variable: pdo in N:\ftp\project\comparison.php on line 44

The table is called coursename with Course_Name and CourseID rows. When I run this I get Notice: Undefined variable: pdo in N:\ftp\project\comparison.php on line 44

Fatal error: Call to a member function prepare() on a non-object in N:\ftp\project\comparison.php on line 44

我做错了什么?我将非常感谢您的帮助.

What am I doing wrong? I would really appreciate any help.

推荐答案

您应使用设置的值,即$db,而不是$pdo:

You should use what you have set, and that is $db, not $pdo:

$db= new PDO

同样,您也没有在查询语句上添加命名的占位符:

Abd also, you didn't add your named placeholder on the query statement:

CourseID = :CourseID

所以最后:

require 'connect.php';
$sql = "SELECT CourseID, Course_Name  FROM coursename WHERE CourseID = :CourseID";
$stmt = $db->prepare($sql);
$stmt->bindParam(':CourseID', $CourseID, PDO::PARAM_INT);
$stmt->execute();

$results = $stmt->fetchAll(PDO::FETCH_ASSOC);

print_r($results);

connect.php中:

$dbHost ='localhost';
$databaseName ='dm_projectdb';
$username ='blah';
$password ='blah';

$db= new PDO("mysql:host=$dbHost;dbname=$databaseName;charset=utf8", $username, $password);
$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);  

这篇关于PDO检索表数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆