sql >> データベース >  >> RDS >> Sqlserver

ODBCおよびSQLServer2008:プリペアドステートメントを使用できませんか?

    私はfetchObjectメソッドを使用したことはありませんが、これはどうですか:

    $stmt = $pdo->prepare("SELECT * FROM Users WHERE username=?");
    $stmt->bindValue(1, $username);
    try{
        $stmt->execute();
        while ($row = $stmt->fetch()){
           // Do whatever.
        }
    }catch(PDOException $e){
        echo($e->getMessage());
    }
    

    また、疑問符('?')を一重引用符で囲んでいるのに気づきましたが、そこにあるべきではありません。

    try / catchのものを使用するには、PDO接続を作成するときにこれを含める必要があります:

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    

    また、これも追加することをお勧めします:

    $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES, FALSE); // Try to use the driver's native prepared statements.
    



    1. データベースクエリが失敗した場合の検出と処理

    2. SQL Server(T-SQL)で「smalldatetime」を「datetime」に変換する例

    3. SqlCommandを使用して、パラメーター化されたデータベース名でデータベースを作成するにはどうすればよいですか?

    4. MySQLは3つのテーブルで結合しますトリック