Heim  >  Artikel  >  Backend-Entwicklung  >  Einfache Verwendung von PHP PDO (1)

Einfache Verwendung von PHP PDO (1)

WBOY
WBOYOriginal
2016-08-08 09:25:141006Durchsuche

Einführung:

Die PDO-Erweiterung definiert eine leichte, konsistente Schnittstelle für PHP für den Zugriff auf die Datenbank. Sie bietet eine Abstraktionsschicht für den Datenzugriff, sodass Daten unabhängig von der verwendeten Datenbank abgefragt und abgerufen werden können kann durch konsistente Funktionen ausgeführt werden.

Bietet eine Abstraktionsschicht für den Datenbankzugriff, die es uns ermöglicht, verschiedene Datenbanken durch konsistente Funktionen und Schreibmethoden zu betreiben, was für zukünftige Datenbankmigrationen von Vorteil ist und natürlich auch die Sicherheit verbessert.

Vergleich:

PHP verwendet MySQL als Beispiel. Zu den häufig verwendeten Methoden gehören php_mysql, php_mysqli, pdo

1. php_mysql und php_mysqli sind nicht portierbar und können nur auf MySQL angewendet werden Datenbank und PDO können problemlos transplantiert werden.

2.php_mysql ist eine Funktion, mit der wir lernen, die Datenbank zu bedienen, wenn wir mit PHP noch nicht vertraut sind. Tatsächlich wird sie jedoch selten verwendet. Der wichtigste Punkt ist, dass sie leicht zu Sicherheitsproblemen führen kann.

Da es eine SQL-Injection gibt, stellt PHP die Funktion mysql_real_escape_string bereit. Wenn es viele Variablen gibt, muss jede einzelne mysql_real_escape_string durchlaufen

Stattdessen wird es sehr problematisch.

3.pdo unterstützt die Vorverarbeitungsfunktion, um SQL-Injection effektiv zu vermeiden und die Effizienz zu verbessern.

4.php_mysqli und pdo unterstützen beide objektorientiert.

5.pdo Die lange Verbindungsmethode hat eine bessere Leistung als php_mysqli (siehe Online-Informationen)

Der Vorteil der php_mysql-Methode ist nicht mehr groß und Das Schlimmste an php_mysqli ist, dass es nicht auf andere Datenbanken portiert werden kann, es sei denn, Sie sind sicher, dass Sie die Datenbank nicht ändern werden. Offensichtlich wird die PDO-Methode zum Herstellen einer Verbindung zur Datenbank ein Trend sein.

Einfache PDO-Datenbankoperation:

Zuerst muss PHP PHP-PDO-bezogene Erweiterungen aktivieren

<?php

$dbType = &#39;mysql&#39;;
$dbUser = &#39;root&#39;;
$dbPass = &#39;simael&#39;;
$dbhost = &#39;localhost&#39;;
$dbName = &#39;pdotest&#39;;
$dsn="$dbType:host=$dbhost;dbname=$dbName";
try{
    $pdo = new PDO($dsn, $dbUser, $dbPass); 
    echo "PDO成功连接MySQL数据库!";
}catch(PDOException $exception){
    echo $exception->getMessage();
}

Daten einfügen

<?php
//$pdo->query('set names utf8');
$sql = "INSERT INTO la_comments SET nick_name='formPdo',email='pdo@pdo.com',comment='中文comment',page_id='11',created_at=NOW(),updated_at=NOW()";
$res1 = $pdo->exec($sql);
var_dump($res1);

Zu diesem Zeitpunkt ging ich zur Datenbank und stellte fest, dass die chinesischen Schriftzeichen aufgrund verschiedener Codierungsprobleme möglicherweise verstümmelt waren

Code hinzufügen

$pdo->query('set names utf8');
Es gibt immer noch Fehler in der Datenspeicherung, da Ihr Header möglicherweise GBK-codiert ist

Die online zusammengefassten Codierungsprobleme, die beachtet werden müssen, sind wie folgt :

1. Das Serverprogramm deklariert die Codierung, z. B. header("Content-type: text/html; charset=utf-8");
3. Datenbankkodierung, Tabellen- und Feldkodierung
4
5. Bitte deklarieren Sie die Kodierung, wenn Sie eine Verbindung zur Datenbank herstellen, z. B. $ pdo->query('set name utf8');

Solange die oben genannten Angaben konsistent sind, gilt die Kodierung Das Problem wird im Allgemeinen gelöst.

Vollständiger Beispielcode: (die Datei selbst sollte auch utf8-codiert sein)

$dbType = 'mysql';
$dbUser = 'root';
$dbPass = 'simael';
$dbhost = 'localhost';
$dbName = 'pdotest';
$dsn="$dbType:host=$dbhost;dbname=$dbName";
try{
	$pdo = new PDO($dsn, $dbUser, $dbPass,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES'utf8';")); 
	//$pdo = new PDO($dsn, $dbUser, $dbPass); 
    echo "PDO成功连接MySQL数据库!";
}catch(PDOException $exception){
	echo $exception->getMessage();
}

$pdo->query('set names utf8');
$sql = "INSERT INTO la_comments SET nick_name='formPdo',email='pdo@pdo.com',comment='中文comment',page_id='11',created_at=NOW(),updated_at=NOW()";
$res1 = $pdo->exec($sql);
var_dump($res1);

$sql = "SELECT * FROM la_comments";
$res2 = $pdo->query($sql);
while($row = $res2->fetch()){
	print_r($row);
	echo '
'; } $pdo = null; ?>




Das Obige stellt die einfache Verwendung von PHP PDO (1) vor und hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn