Heim > Backend-Entwicklung > PHP-Tutorial > Detaillierte Erläuterung der Schritte für PHP, PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden

Detaillierte Erläuterung der Schritte für PHP, PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden

php中世界最好的语言
Freigeben: 2023-03-26 11:52:01
Original
2470 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine detaillierte Erklärung der Schritte zum Betreiben von MySQL zum Lesen von Daten geben. Was sind die Vorsichtsmaßnahmen für die Verwendung von PHP zum Betreiben von MySQL zum Lesen von Daten? Fall, werfen wir einen Blick darauf.

Vorwort

In diesem Artikel werden hauptsächlich relevante Inhalte über PHP vorgestellt, das PDO verwendet, um große Datenmengen aus MySQL zu lesen und für Sie freizugeben Referenz und Studium, im Folgenden gibt es nicht viel zu sagen, werfen wir einen Blick auf die ausführliche Einführung.

Umgebung

  • MySQL: 5.6.34

  • php: 5.6

  • nginx: php-fpm

Anwendbare Szenarien

Bestimmte Geschäftsdatensätze müssen verarbeitet werden

  • Geschäftsexport zum Lesen bestimmter Daten aus MySQL

  • Bestimmte MySQL-Geschäftsvorgänge müssen verarbeitet werden, aktualisieren, löschen, usw. auf einmal

  • Mehr Vorgänge, die bestimmte Datensätze verarbeiten müssen

PDO-Schlüsseleinstellungen

$dbh = new \PDO($dsn, $user, $pass);
# 关键设置,如果不设置,php依旧会从pdo一次取出数据到php
$dbh->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
//perpare里的游标属性不是必须的
$sth = $dbh->prepare("SELECT * FROM `order`", array(\PDO::ATTR_CURSOR => \PDO::CURSOR_SCROLL));
$sth->execute();
Nach dem Login kopieren

Generieren

Generator, iterative Datenoperation

Dieser Generator kann weggelassen werden

Probieren Sie den Code aus

class Test {
 public function test()
 {
  set_time_limit(0);
  $dbms='mysql';  //数据库类型
  $host=C('DB_HOST'); //数据库主机名
  $dbName=C('DB_NAME'); //使用的数据库
  $user=C('DB_USER');  //数据库连接用户名
  $pass=C('DB_PWD');   //对应的密码
  $dsn="$dbms:host=$host;dbname=$dbName";
  $dbh = new \PDO($dsn, $user, $pass);
  $dbh->setAttribute(\PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);
  $sth = $dbh->prepare("SELECT * FROM `order`");
  $sth->execute();
  $i = 0;
  $newLine = PHP_SAPI == &#39;cli&#39; ? "\n" : &#39;<br />&#39;;
  foreach ($this->cursor($sth) as $row) {
//   var_dump($row);
   echo $row[&#39;id&#39;] . $newLine;
   $i++;
  }
  echo "消耗内存:" . (memory_get_usage() / 1024 / 1024) . "M" . $newLine;
  echo "处理数据行数:" . $i . $newLine;
  echo "success";
 }
 public function cursor($sth)
 {
  while($row = $sth->fetch(\PDO::FETCH_ASSOC)) {
   yield $row;
  }
 }
}
$test = new Test();
$test->test();
Nach dem Login kopieren

Ausgabe

1
... //省略部分id
804288
消耗内存:"0.34918212890625M
处理数据行数:254062
success
Nach dem Login kopieren

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben, achten Sie bitte auf andere Verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

ThinkPHP-Verbindungsdatenbank-Betriebsfallanalyse

Detaillierte Erläuterung der Schritte zur Installation der Yaf-Erweiterung PHP7.1

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Schritte für PHP, PDO zum Betreiben von MySQL zum Lesen von Daten zu verwenden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Erklärung dieser Website
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
Aktuelle Ausgaben
So ändern Sie MySQL in MySQL
Aus 1970-01-01 08:00:00
0
0
0
MySQL-Startfehler unter Centos
Aus 1970-01-01 08:00:00
0
0
0
MySQL stoppt den Prozess
Aus 1970-01-01 08:00:00
0
0
0
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage