Yii Debugging SQL verfügt haupts?chlich über die folgenden Methoden:
1. Das System verfügt über Debugging:
Zuerst aktiviert index.php den Debugging-Modus:
// remove the following lines when in production mode defined('YII_DEBUG') or define('YII_DEBUG',true); // specify how many levels of call stack should be shown in each log message defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3); //app use time //defined('YII_BEGIN_TIME') or define('YII_BEGIN_TIME',microtime(true));
main.php-Seite:
'errorHandler'=>array( // use 'site/error' action to display errors 'errorAction'=>'site/error', ), 'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning', ), // 下面顯示頁面日志 array( 'class'=>'CWebLogRoute', 'levels'=>'trace', //級別為trace 'categories'=>'system.db.*' //只顯示關(guān)于數(shù)據(jù)庫信息,包括數(shù)據(jù)庫連接,數(shù)據(jù)庫執(zhí)行語句 ), ), ),
Je gr??er die Anzahl von YII_TRACE_LEVEL, desto klarer die Informationen
2. Verwenden Sie Debugging-Tools zum Debuggen:
yii-debug-toolbar Entpacken Sie das Paket und fügen Sie es in die Erweiterungen ein. Fügen Sie dann
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'ext.yii-debug-toolbar.YiiDebugToolbarRoute', 'ipFilters'=>array('127.0.0.1','192.168.1.215'), ), ), ),
am Ende der Konfigurationsdatei main.php hinzu. Wenn es nicht angezeigt wird, fügen Sie zwei Attribute hinzu:
'enableProfiling'=>true, 'enableParamLogging'=>true,
in der Datenbank unter ?Komponenten“ und dann. Wenn Plug-Ins für andere Debugging-Tools vorhanden sind, k?nnen Konflikte auftreten und die SQL-Anweisung wird nicht angezeigt. Kommentieren Sie diesen Code einfach aus.
Empfohlenes Tutorial: yii
Das obige ist der detaillierte Inhalt vonSo debuggen Sie SQL in yii. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Beim Entwerfen einer relationalen Datenbank sollten vier Schlüsselprinzipien befolgt werden. Verwenden Sie zun?chst die prim?ren und fremden Schlüsselbeschr?nkungen korrekt, um die Datenintegrit?t und die Assoziationsgenauigkeit sicherzustellen. Zweitens führen Sie ein standardisiertes Design angemessen durch, in der Regel die dritte Normalform (3NF), wodurch Redundanz beseitigt und die Datenkonsistenz sichergestellt wird. Drittens, um geeignete Indizes für g?ngige Abfragen zur Verbesserung der Abfrageleistung festzulegen, aber über-Index zu vermeiden; Verwenden Sie schlie?lich konsistente Namensschwerpunkte und strukturelle Stile, um die Lesbarkeit und Wartbarkeit zu verbessern. Durch das Beherrschen dieser Prinzipien k?nnen Sie eine klare, effiziente und robuste Datenbankstruktur aufbauen.

SQL's Where -Klausel wird verwendet, um Datenzeilen genau zu filtern, die den Kriterien entsprechen. 1. Verwenden Sie Vergleichsoperatoren (z. IsNull oder isnotnull, um Nullwerte zu beurteilen, um sicherzustellen, dass die Abfrageergebnisse korrekt sind.

Die ?nderung des Tabellennamens wird normalerweise in SQL unter Verwendung des Befehls umbenannten oder altertable implementiert. 1.MYSQL, Mariadb und andere Datenbanken verwenden die Nametableold_table_nametonew_table_name; Syntax unterstützt Stapeloperationen; 2. SQLSERVER ben?tigt die gespeicherte Prozedur von SP_Rename, und die Syntax ist execsp_rename'old_table_name ',' new_table_name '; 3.Postgresql verwendet AlterTableold_table_namerenametonew_table_name

Formatdaten in SQL müssen Sie die entsprechende Funktion entsprechend dem Datenbanktyp ausw?hlen. MySQL verwendet DATE_FORMAT () mit%y,%m und andere Formate wie SelectDate_Format (now (), '%y-%M-%d'); SQLServer verwendet Convert () oder format (), erstere IS SelectConvert (varchar, getDate (), 112) und letzteres ist SelectFormat (getdate (), 'Yyyy-Mm-Dd'); PostgreSQL verwendet to_char (), wie z.

Read Replicas sind erforderlich, da die meisten Anwendungen mehr lesen und weniger schreiben und die Master -Bibliothek leicht zu einem Engpass werden kann. Zu den allgemeinen Einstellungen geh?ren MySQLs Master-Slave-Replikation, PostgreSQL-Stream-Replikation, SQLServers Alwaynon Group und RDS 'ReadReplica-Instanzen. Leseanforderungen k?nnen über die Anwendungsschicht beurteilt werden, und Middleware oder ORM -Frameworks werden in die Replik weitergeleitet. Zu den Problemen, die leicht übersehen werden k?nnen, geh?ren Replikationsverz?gerungen, unsachgem??e Konfiguration des Verbindungspools, fehlende Gesundheitsprüfungen und unzureichendes Berechtigungsmanagement.

Schreiben Sie eine benutzerdefinierte SQL-Abfrage in YII und k?nnen über Yii :: $ App-> db implementiert werden. Die Schritte lauten wie folgt: 1. Erstellen Sie einen Abfragebefehl mit CreateCommand (); 2. Bindungsparameter durch BindValue () oder BindParam (), um die SQL -Injektion zu verhindern; 3.. Rufen Sie queryAll (), queryone () und andere Methoden zur Ausführung von Abfragen auf; 4. Für Einfügen- und Aktualisierungsvorg?nge k?nnen Sie die Methoden "Insert () und Update () (Update () ketten. 5. Es wird empfohlen, SQL direkt zu schreiben und Parameter zu binden. 6. Wenn das Ergebnis in ein Modell umgewandelt werden muss, k?nnen Sie Eigenschaften instanziieren und festlegen. 7. Verwenden Sie QueryBuilder, um zuerst sichere Fragen zu erstellen, antworten und antworten.

In YII werden Widgets verwendet, um das Komponenten -Multiplexing durch Einkapselung der komplexen Ansichtslogik zu implementieren. 1. Verwenden Sie die Methode Widget (), um integrierte Widgets wie LinkPager für die Pagination aufzurufen, und ActiveForm zum Erstellen von Modellbindungsformen. 2. Gemeinsame Widgets umfassen GridView, um Tabellendaten, Detailview anzuzeigen, um Modelldetails anzuzeigen, und Menü -Build -Navigationsmenü. 3.. Benutzerdefinierte Widgets k?nnen erstellt werden, indem Yii \ Base \ Widget implementiert, die Run () -Methode implementiert und Attribute definiert werden, um die Wiederverwendbarkeit zu verbessern, wie im Beispiel für Hellowidget gezeigt. Das Beherrschen dieser Kernmethoden kann die Ansichtsentwicklungseffizienz verbessern.

Das Fixture ist ein Mechanismus, der zum Vorlasten von Daten in YII -Tests verwendet wird. 1. Erstellen Sie eine Fixture -Klasse, um ActiveFixure zu erben und das Modell anzugeben. 2. Setzen Sie die Abh?ngigkeitsreihenfolge durch $ abh?ngig; 3. Definieren Sie Datendateien im Daten/Verzeichnis; V. 5. YII l?dt und reinigt die Daten nach dem Test automatisch. Beispielsweise l?dt UserFixure Benutzerdaten in die Datei Tests/Feortures/Data/user.php. W?hrend des Tests k?nnen Sie die Daten von Alice über $ this-> user ['user1'] zur überprüfung der Behauptung erhalten. Yii bietet eine Vielzahl von FI
