Heim  >  Artikel  >  PHP-Framework  >  So verbinden Sie thinkphp mit der Datenbank

So verbinden Sie thinkphp mit der Datenbank

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼Original
2019-08-26 14:20:454129Durchsuche

So verbinden Sie thinkphp mit der Datenbank

Die Beispiele in diesem Artikel fassen mehrere gängige Möglichkeiten für ThinkPHP zusammen, eine Verbindung zur Datenbank herzustellen. Teilen Sie es als Referenz mit allen. Die Details sind wie folgt:

ThinkPHP verfügt über eine integrierte abstrakte Datenbankzugriffsschicht, die verschiedene Datenbankoperationen kapselt. Wir müssen nur die öffentliche Db-Klasse verwenden, um verschiedene Codes und zugrunde liegende Implementierungen für verschiedene Datenbanken zu schreiben . Die Db-Klasse ruft automatisch den entsprechenden Datenbankadapter zur Verarbeitung auf. Aktuelle Datenbanken unterstützen MySQL, MsSQL, PgSQL, Sqlite, Oracle, Ibase und PDO. Wenn die Anwendung eine Datenbank verwenden muss, müssen die Datenbankverbindungsinformationen konfiguriert werden . Wie viele Datenbankkonfigurationsdateien gibt es? Die erste Methode besteht darin,

in der Projektkonfigurationsdatei zu definieren:

return array(  
 'DB_TYPE'=> 'mysql',   
 'DB_HOST'=> 'localhost',  
 'DB_NAME'=>'thinkphp',   
 'DB_USER'=>'root',   
 'DB_PWD'=>'',   
 'DB_PORT'=>'3306',  
 'DB_PREFIX'=>'think_',  
 // 其他项目配置参数………  
 );

Das System empfiehlt diese Methode, da die Datenbankzugriffskonfiguration eines Projekts im Allgemeinen dieselbe ist. Bei dieser Methode erhält das System sie automatisch, wenn eine Verbindung zur Datenbank hergestellt wird, ohne dass eine manuelle Verbindung erforderlich ist.

Sie können für jedes Projekt unterschiedliche Datenbankverbindungsinformationen definieren und Sie können auch die Debugging-Datenbankkonfigurationsinformationen in der Debugging-Konfigurationsdatei (Conf/debug.php) definieren, sofern diese in der Projektkonfigurationsdatei und im Debugging enthalten sind Moduskonfigurationsdatei Gleichzeitig werden die Datenbankverbindungsinformationen definiert, sodass letztere im Debugging-Modus und erstere im Bereitstellungsmodus wirksam werden.

Verwandte Empfehlungen: „

ThinkPHP Tutorial

Zweitens verwenden Sie die DSN-Methode, um Parameter beim Initialisieren der Db-Klasse zu übergeben

Der Code lautet wie folgt:

$db_dsn = "mysql://username:passwd@localhost:3306/DbName";  
 $db = new Db($db_dsn);

Diese Methode wird hauptsächlich verwendet, um manuell im Controller eine Verbindung zur Datenbank herzustellen oder mehrere Datenbankverbindungen zu erstellen.

Die dritte Methode besteht darin, ein Array zum Übergeben von Parametern zu verwenden

Der Code lautet wie folgt:

$DSN = array(   
 'dbms'     => 'mysql',    
 'username' => 'username',    
 'password' => 'password',    
 'hostname' => 'localhost',    
 'hostport' => '3306',    
 'database' => 'dbname'   
 );  
 $db = new Db($DSN);

Diese Methode wird auch für die manuelle Verbindung verwendet zur Datenbank oder zum Erstellen mehrerer Datenbankverbindungen.

Die vierte Methode besteht darin,

in der Modellklasse zu definieren. Der Code lautet wie folgt:

protected $connection = array(   
 'dbms'     => 'mysql',    
 'username' => 'username',    
 'password' => 'password',    
 'hostname' => 'localhost',    
 'hostport' => '3306',    
 'database' => 'dbname'   
 );  
 // 或者使用下面的定义  
protected $connection = "mysql://username:passwd@localhost:3306/DbName";

Wenn das Verbindungsattribut in a definiert ist Modellklasse, dann Beim Instanziieren eines Modellobjekts werden die Datenbankverbindungsinformationen verwendet, um eine Verbindung zur Datenbank herzustellen. Dies wird normalerweise für einige Datentabellen verwendet, die sich in anderen Datenbanken außerhalb der aktuellen Datenbankverbindung befinden.

ThinkPHP stellt zu Beginn keine Verbindung zur Datenbank her, sondern nur, wenn ein Datenabfragevorgang stattfindet. Wenn das System das Modell zum ersten Mal betreibt, stellt das Framework außerdem automatisch eine Verbindung zur Datenbank her Rufen Sie die Datenfeldinformationen der relevanten Modellklasse ab und speichern Sie sie zwischen.

(Feldcache-Verzeichnis: Runtime/Data/_fields)

ThinkPHP unterstützt den PDO-Modus, um eine Verbindung zur Datenbank herzustellen, können Sie sich auf die folgenden Einstellungen beziehen.

Nehmen wir zur Veranschaulichung die Definition der Projektkonfigurationsdatei als Beispiel:

Der Code lautet wie folgt:

return array(  
 'DB_TYPE'=> 'pdo',   
 // 注意DSN的配置针对不同的数据库有所区别 请参考PHP手册PDO类库部分  
 'DB_DSN'=> 'mysql:host=localhost;dbname=think',  
 'DB_USER'=>'root',   
 'DB_PWD'=>'',   
 'DB_PREFIX'=>'think_',  
 // 其他项目配置参数………  
 );

Achten Sie bei Verwendung der PDO-Methode darauf, zu überprüfen, ob die relevantes PDO-Modul, DB_DSN, ist aktiviert. Die Parameter sind nur für PDO-Verbindung gültig.

Das obige ist der detaillierte Inhalt vonSo verbinden Sie thinkphp mit der Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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