1

何年もの間、私は mySQL を使用してきました。大ミス。PDOは間違いなく進むべき道であり、私は難しい方法を学びました.

しかし、私はまだそれをよく理解しておらず、チュートリアルが特に役立つとは思っていません.

セキュリティと速度は、mySQL に関する私の主な問題です。から情報を取得すると言いたい場合、標準の PDO 式はどのようになりますか?

$variable1 - SQL TABLE
$variable2 - FIELD TO MATCH
$variable3 - MATCH WITH THIS

そして、見つかった各行に指定された数のフィールドがあると仮定すると、見つかったら、おそらく次のようになります$row['field_name'];

この例に基づいてこれがどのように行われるかがわかれば、残りはおそらく管理できると思います。

また、w3schools が mySQL クエリに対して行うことと PDO に対して行うことのような良いリンクを知っていれば、それもありがたいです。

4

1 に答える 1

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());
}
于 2012-06-30T09:00:58.593 に答える