PHP ist eine weit verbreitete serverseitige Skriptsprache. Sie verfügt über viele Frameworks und Bibliotheken, die Entwickler verwenden können, und PDO (PHP Data Object) ist eine Erweiterung von PHP, um eine Verbindung zur Datenbank herzustellen, sodass Entwickler einfacher und bequemer eine Verbindung herstellen können Betreiben Sie verschiedene Arten von Datenbanken und bieten Sie gleichzeitig eine sicherere Möglichkeit, Sicherheitsprobleme wie SQL-Injection zu vermeiden. Dieser Artikel konzentriert sich auf die Verwendung von PDO zum Implementieren von Datenbankabfragen.
1. Einführung in PDO
PDO ist eine in PHP 5.1 eingeführte Datenbankerweiterung. Es handelt sich um eine leichte, plattformübergreifende Datenzugriffsschicht. Es bietet standardisierten Zugriff auf verschiedene Datenbanken sowie Unterstützung für die Datenvorverarbeitung und parametrisierte Abfragen, wodurch das Risiko von Sicherheitslücken verringert und unser Code robuster wird.
2. Stellen Sie eine Datenbankverbindung her.
Bevor wir PDO für die Datenbankabfrage verwenden, müssen wir zunächst eine Verbindung mit der Datenbank herstellen. Die Verbindung erfordert den Benutzernamen, das Passwort, den Hostnamen, die Portnummer, den Datenbanknamen und andere Parameter der Datenbank. Schließlich wird ein PDO-Objekt erhalten, und wir können dieses Objekt für nachfolgende Vorgänge verwenden.
//Mit der Datenbank verbinden
$dsn = "mysql:host=localhost;dbname=test;charset=utf8";
$username = "root";#🎜 🎜 #$password = "123456";
try {
$pdo = new PDO($dsn, $username, $password); echo "连接成功!";
echo "连接失败:" . $e->getMessage();
$sql = "SELECT count(*) FROM user WHERE status=1";
$res = $pdo->query($sql);
$row = $res- >fetch(PDO::FETCH_NUM);
$count = $row[0];
echo "Anzahl der Benutzer:" $count;
$res = $pdo->query($sql);
while ($row = $ res ->fetch(PDO::FETCH_ASSOC)) {
echo "ID:" . $row['id'] . ",姓名:" . $row['username'] . ",邮箱:" . $row['email'] . "<br/>";
Im obigen Code gibt $res->fetch(PDO::FETCH_ASSOC) An zurück Assoziatives Array, wobei die Schlüssel des Arrays Feldnamen darstellen und der Wert des Arrays der dem Feld entsprechende Wert ist.
3. Mehrere Datenzeilen abfragen
Wenn wir mehrere Datenzeilen abfragen müssen, können wir den folgenden Code verwenden:
// Mehrere Datenzeilen abfragen
$sql = "SELECT * FROM user WHERE status=1";$res = $pdo->query($sql);
$list = $res ->fetchAll( PDO::FETCH_ASSOC);
foreach ($list as $row) {
echo "ID:" . $row['id'] . ",姓名:" . $row['username'] . ",邮箱:" . $row['email'] . "<br/>";
Im obigen Code $res- >fetchAll() Gibt alle Ergebnissatzdaten zurück. Die fetchAll()-Methode verwendet den Parameter PDO::FETCH_ASSOC, um die Ergebnismenge in ein assoziatives Array-Array umzuwandeln, und verwendet die foreach-Anweisung, um das Array zu durchlaufen und die Daten auszugeben.
4. Verwenden Sie parametrisierte Abfragen
Wenn wir den vom Benutzer eingegebenen Wert direkt als Teil der SQL-Anweisung in der Abfrageoperation verwenden, kann dies zu Sicherheitsproblemen wie SQL führen Um dieses Problem zu vermeiden, können wir parametrisierte Abfragen verwenden. Das folgende Beispiel zeigt, wie eine parametrisierte Abfrage verwendet wird:
//parametrisierte Abfrage
$username = "admin";$password = "123456";
$ sql = 'SELECT * FROM user WHERE username = ? AND password = ?';
$stmt = $pdo->prepare($sql);
$stmt->execute([$username, $password]);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$user) {
echo "用户名或密码错误!";
echo "欢迎," . $user['username'] . "!";
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PDO-Methode, um eine Abfrage in PHP zu implementieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!