{"id":143,"date":"2017-02-14T06:38:59","date_gmt":"2017-02-14T05:38:59","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=143"},"modified":"2017-02-14T06:43:40","modified_gmt":"2017-02-14T05:43:40","slug":"hab-ich-doch-glatt-vergessen-tach-auch-ich-bin-dein-praefix","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/02\/14\/hab-ich-doch-glatt-vergessen-tach-auch-ich-bin-dein-praefix\/","title":{"rendered":"Hab ich doch glatt vergessen: Tach auch, ich bin dein Pr\u00e4fix!"},"content":{"rendered":"<p>Ich bin von wohlmeinenden Kritikern darauf hingewiesen worden, da\u00df ein Statement wie :<\/p>\n<pre>SELECT * from wp_posts<\/pre>\n<p>ein bi\u00dfchen nach Schlamperei riecht. Schlie\u00dflich kann man bei der WordPress-Installation ein x-beliebiges Datenbankpr\u00e4fix angeben, und dann hei\u00dft die Tabelle eben nicht wp_posts, sondern wom\u00f6glich 783287xyzposts, und mein SQL f\u00e4llt auf die Nase.<\/p>\n<h2>Was ist ein Datenbankpr\u00e4fix?<\/h2>\n<p>Das stammt noch aus den Zeiten, als MySQL Datenbanken beim Provider rar und teuer waren, und man notgedrungen mehrere WordPress-Installationen in eine einzige MySQL-Datenbank stecken mu\u00dfte. Das Datenbankpr\u00e4fix mu\u00df innerhalb einer Datenbank eindeutig sein, denn es dient dazu dem System mitzuteilen, welche Tabellen zu welchem Blog geh\u00f6ren. Das hat fr\u00fcher oft ganz sch\u00f6n Verwirrung gestiftet und machte auch das Datenbank-Backup eines Blogs nicht gerade \u00fcbersichtlicher. Aber ich denke, heutzutage wo bei jedem Webspace zwanzig und mehr MySQL-Datenbanken dabei sind, ist das kein Thema mehr. Ich bevorzuge es, f\u00fcr jeden Blog eine eigene Datenbank zu nehmen (Pscht, das mit dem Multisite-Blog habe ich jetzt nicht geh\u00f6rt!) und als Pr\u00e4fix den Default wp_ zu belassen.<\/p>\n<p>Wenn man jetzt Code schreiben m\u00f6chte, der auf jeder normalen WordPress-Installation l\u00e4uft, mu\u00df man nat\u00fcrlich den richtigen und kompletten Tabellennamen, der sich immer aus dem Prefix und dem WordPress-Basistabellenamen zusammensetzt, angeben. Daf\u00fcr gibt es die Systemvariable <strong>prefix<\/strong>. Im Code sieht das dann korrekt so aus:<\/p>\n<pre>SELECT * from $wpdb-&gt;prefix.posts<\/pre>\n<p>Ich bleibe aber trotzdem bei meiner vereinfachten Schreibweise mit dem wp_posts, weil ich finde da\u00df es leichter zu lesen ist, und f\u00fcr mich weniger Arbeit zum Tippen \ud83d\ude09<\/p>\n<h2>Fu\u00dfnote<\/h2>\n<p>Ich habe schon oft gelesen, da\u00df es aus Sicherheitsgr\u00fcnden dringend anzuraten ist, ein m\u00f6glichst kryptisches Datenbankpr\u00e4fix zu w\u00e4hlen, von wegen Hackerangriffe und so. Wei\u00df ich nicht was ich davon halten soll, schlie\u00dflich kann der b\u00f6se Hacker den Dreh mit dem $wpdb-&gt;prefix auch kennen, und damit ist es nix mit dem Schutz. Aber das nur mal so als Nachgedanke..<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich bin von wohlmeinenden Kritikern darauf hingewiesen worden, da\u00df ein Statement wie : SELECT * from wp_posts ein bi\u00dfchen nach Schlamperei riecht. Schlie\u00dflich kann man bei der WordPress-Installation ein x-beliebiges Datenbankpr\u00e4fix angeben, und dann hei\u00dft die Tabelle eben nicht wp_posts, sondern wom\u00f6glich 783287xyzposts, und mein SQL f\u00e4llt auf die Nase. Was ist ein Datenbankpr\u00e4fix? Das [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1,7,2],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/143"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=143"}],"version-history":[{"count":4,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/143\/revisions"}],"predecessor-version":[{"id":147,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/143\/revisions\/147"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=143"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=143"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=143"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}