【问题标题】:Could someone explain what is stored in a "new PDO" [duplicate]有人可以解释“新 PDO”中存储的内容吗?
【发布时间】:2013-03-19 09:03:31
【问题描述】:

我很难理解我刚刚完成的教程中的$conn。它来自 Tutsplus PHP 基础课程。

我得到了以下代码:

<?php
require 'config.php';
$letter = 'J%';
try {
$conn = new PDO('mysql:host=localhost; dbname=practice', $config['DB_USERNAME'], $config['DB_PASSWORD']);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //Switch to turn on error modes with errors displayed

$stmt = $conn->prepare('SELECT * FROM users WHERE username LIKE :placeholder');

$stmt->bindParam('placeholder', $letter, PDO::PARAM_INT);
$stmt->setFetchMode(PDO::FETCH_OBJ);
$stmt->execute();

while($row = $stmt->fetch()) {
    print_r($row);
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}

我了解:placeholder 部分。我不太了解的部分尤其是这一行中的$conn

$stmt = $conn-&gt;prepare('SELECT * FROM users WHERE username LIKE :placeholder');

如果我现在理解-&gt;,这意味着我们将变量$conn 传递给函数prepare() 并将结果存储在$stmt 中。我没有得到的是$conn 当前从 PDO 连接中持有的内容。我尝试做print $conn;,但返回一个错误。

【问题讨论】:

  • $conn 是一个对象,-&gt; 表示“调用方法”,所以$conn-&gt;prepare 表示在对象$conn 上使用括号中的参数调用方法prepare
  • $conn 是一个 PDO 类/对象,其中包含一个方法/函数 prepare()
  • 感谢@YourCommonSense 刚刚从另一个“问题”中阅读了-&gt;。更有意义,并引导我阅读其他一些内容。

标签: php pdo


【解决方案1】:

PDO(php 数据库对象)是一个标准库,使用面向对象的接口提供对不同数据库驱动程序的访问。

"$conn" 对象是 PDO 类的一个实例。

“面向对象编程”中的对象本质上是数据结构及其相关的处理例程。

您至少应该学习 OOP 基础知识才能完全理解它的工作原理。

http://en.wikipedia.org/wiki/Object-oriented_programming

如果我理解 -> 现在这意味着我们将变量 $conn 传递给函数 prepare()

没有。 “->” 运算符,您调用对象“$conn”的函数“准备”

【讨论】:

    【解决方案2】:

    $conn 包含 PDO 类的对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-10
      • 2023-03-23
      • 1970-01-01
      • 2012-05-29
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多