【问题标题】:PHP PDO standard fetching formula as fast and safe as possiblePHP PDO 标准获取公式尽可能快速和安全
【发布时间】:2012-06-30 08:37:00
【问题描述】:

多年来,我一直在使用 mySQL。大错。 PDO 绝对是要走的路,我已经学会了艰难的道路。

但我还不太明白,也没有发现这些教程特别有用。

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

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

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

如果我可以根据此示例了解这是如何完成的,我想我可能可以管理其余部分。

另外,如果您知道 w3schools 对 mySQL 查询所做的事情的好链接,但对于 PDO,我也会很感激。

【问题讨论】:

    标签: php object pdo formula


    【解决方案1】:

    完整记录,如下所示:

    <?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());
    }
    

    【讨论】:

    • 看起来不错。那么我如何将其称为具有不同变量的有效函数
    • @RobinKnight,你删除了$table_name = "example_table"; $field = "example_field"; $value = "example_value";,然后把代码放在function name_of_function($table_name, $field, $value) {}里面?来吧伙计...
    猜你喜欢
    • 1970-01-01
    • 2016-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 2012-06-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多