PHP PDO标准提取公式尽可能快速和安全

时间:2012-06-30 08:37:01

标签: php object pdo formula

多年来我一直使用mySQL。大错。 PDO绝对是我要走的路,我学到了很多东西。

但我还不太了解它,并没有发现教程特别有帮助。

安全性和速度是mySQL的主要问题。如果我想说从

获取信息,标准PDO公式会是什么样子
$variable1 - SQL TABLE
$variable2 - FIELD TO MATCH
$variable3 - MATCH WITH THIS

然后假设每个找到的行中有一定数量的字段,一旦找到它,可能会看起来像$row['field_name'];

如果我能根据这个例子看到这是怎么做的,我想我可以管理其余部分。

此外,如果你知道一个很好的链接,比如w3schools为mySQL查询做的事情,但是对于PDO,那么我也会很感激。

1 个答案:

答案 0 :(得分:2)

完整记录,看起来像这样:

<?php

try {
//Start connection
    $pdo = new PDO("mysql:host=localhost;dbname=database_name", "user", "password");
/*
* Set attributes
*/
//Throw exceptions on errors
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Disable prepared statements emulations
    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);

    $table_name = "example_table";
    $field = "example_field";
    $value = "example_value";

    $query = <<<MySQL
    SELECT *
        FROM `$table_name`
        WHERE `$field` = :value
MySQL;

//Prepare the statement
    $stmt = $pdo->prepare($query);

//Bind values to placeholders
    $stmt->bindValue(":value", $value);

//Execute the statement
    $stmt->execute();

/*
* Fetching results
*/
//Fetch all results as an associative array.
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
} catch (PDOException $e) {
    die("An error has occurred! " . $e->getMessage());
}