|
You last visited: Today at 18:21
Advertisement
[PHP] MySQL Verbindung zwischenspeichern
Discussion on [PHP] MySQL Verbindung zwischenspeichern within the Web Development forum part of the Coders Den category.
01/15/2015, 12:30
|
#1
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
[PHP] MySQL Verbindung zwischenspeichern
Moin,
gibt es eine Möglichkeit eine MySQL Verbindung zwischen zu speichern, also z.B. in einem Cookie?
Ich habe eine Seite wo ich Teil der Seite über jQuery nachlade. Die Sache dabei ist, dass jeder Teil eine Verbindugn zum MySQL Server aufbaut.
Ich weiß jetzt nicht ob das den ganzen Server verlangsammt, wenn ich z.B. 1000 Besucher in einem bestimmten Zeitraum habe die dann sich durch die Seite klicken.
MfG
Mr.Tr33
|
|
|
01/15/2015, 13:29
|
#2
|
elite*gold: 0
Join Date: Jan 2009
Posts: 731
Received Thanks: 233
|
im cookie geht das nicht, 1k requests pro minute oder sekunde musst dir gedanken machen.
wenn lw hast kannst dir  angucken, bzw einfach mit einem caching arbeiten, wenn es sich anbietet.
|
|
|
01/15/2015, 13:37
|
#3
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
Wenn du auf PDO umsteigen würdest, könntest du das persistent ATTR setzen, dabei wird die DB Verbindung gecached und somit wieder schneller hergestellt.
|
|
|
01/15/2015, 17:10
|
#4
|
elite*gold: 100
Join Date: Sep 2009
Posts: 8,143
Received Thanks: 2,763
|
Würde dir auch einen Umstieg auf PDO empfehlen.
|
|
|
01/15/2015, 17:46
|
#5
|
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
|
Mysql ist deprecated.
Wenn es nicht irgendwie Job- oder Schul-bedingt benutzt werden muss.
Rate ich dir wie die anderen, einen Umstieg auf PDO.
|
|
|
01/15/2015, 17:48
|
#6
|
elite*gold: 10
Join Date: Feb 2012
Posts: 313
Received Thanks: 61
|
Steht denn irgendwo explizit das er den mysql driver benutzt?
|
|
|
01/15/2015, 18:07
|
#7
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Quote:
Originally Posted by NotEnoughForYou
Wenn du auf PDO umsteigen würdest, könntest du das persistent ATTR setzen, dabei wird die DB Verbindung gecached und somit wieder schneller hergestellt.
|
Klingt interessant.
Könntest du mir eventuell ein aussagekräftiges Beispiel mit einer Erklärung geben bitte? Habe PDO noch nicht benutzt und ich denke mal, dass ich bei meinem Projekt vermutlich darauf umsteigen werde
|
|
|
01/15/2015, 18:10
|
#8
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
|
Infos dazu gibts in der offiziellen Doku:
Die persistenten Verbindungen werden unter Punkt #4 angesprochen.
Eventuell wäre es mal interessant zu wissen was du genau vorhast und ob man nicht eine andere Art von Code-Struktur für dein Vorhaben nutzen kann.
|
|
|
01/15/2015, 18:36
|
#9
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Mir kam der Gedanke einfach so, da ich immer mehr jQuery benutze und mich fragte wie es den MySQL Server belastet zich verbindungen pro User aufzubauen.
|
|
|
01/15/2015, 20:22
|
#10
|
elite*gold: 22
Join Date: Nov 2009
Posts: 1,552
Received Thanks: 361
|
Code:
mysql_pconnect ([ string $server = ini_get("mysql.default_host") [, string $username = ini_get("mysql.default_user") [, string $password = ini_get("mysql.default_password") [, int $client_flags = 0 ]]]] )
Habe mal die mysql_pconnect gefunden.
Verbessert die Perfomance mit einer persistent connection.
Irgendwie muss man das auch persistent setzen... Wollte nur mal erwähnen das es sowas gibt.
Kann sein dass das schon wieder deprecated ist. ^^
|
|
|
01/15/2015, 20:26
|
#11
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
|
Jo ist mittlerweile deprecated.
|
|
|
01/15/2015, 23:03
|
#12
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Da wir ja jetzt eh PDO gelandet sind, kann ich mich auch hier ausfragen
So, was ist mit der Funktion mysql_real_escape_string? brauche ich sie gar nicht? oder muss ich es jetzt jedes mal mit prepare & execute machen? Ich mag den normalen $db->query befehl viel lieber  , naja fürs erste
/Edit:
Ok ich habe es selbst ausprobiert und ohne manueles escapen oder prepare & execute komme ich nicht aus.
Was mich jetzt aber stört ist, dass ich nicht den zusammen gebauten Query anschauen kann, heißt was am Ende beim Server landet und verarbeitet wird.
|
|
|
01/16/2015, 00:40
|
#13
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
|
Das wirst du in PHP mit den genutzten prepared Statements nicht erreichen können, da müsstest du normale Queries versenden.
Was bei den prepareds passiert:
Deiner Datenbank wird der Query geschickt, die Datenbank "baut" sich dann die dementsprechende Interpretation daraus, aber verarbeitet den Query noch nicht.
Sobald du dann eine Variable mit ranhängst bzw. eine bindest "ersetzt" die Datenbank nur die Variable und erhält auch nur die Variable. D.h. der Query im einzelnen wird eigentlich von der Datenbank verarbeitet, nicht von PDO.
Du müsstest den Query einfach vorher zusammenbauen bzw. dir eine extra Hilfsvariable für einbauen. Denn das was du willst, ist nicht vorhanden (dies ist jedoch auch nur bei den prepareds so, es gibt weiterhin auch noch die normalen Queries die man hier sehen kann:  ).
Falls du nur den prepared String sehen willst der abgeschickt wird kannst du im PDO prepare Objekt einfach die Variable "queryString" abfragen, die ist public.
|
|
|
01/16/2015, 11:51
|
#14
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Danke, aber bei normalen query kann ich ja leider die POSTs & GETs nicht escapen. Oder gibt es doch dafür ne Möglichkeit?
|
|
|
01/16/2015, 13:17
|
#15
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,019
Received Thanks: 331
|
Was du machen könntest um deine ganzen Variablen zu escapen wäre einfach über das $_POST Array zu laufen.
PHP Code:
<?php
$params = array();
foreach($_POST as $key => $val) { $params[$key] = DeineSecureFunktion($val); }
?>
Bin mit dieser Praktik schon relativ lange unterwegs und die hatte mich bis dato auch noch nie im Stich gelassen. DU musst dann auch nicht mehr die Originalen Werte im $_POST Array bearbeiten sondern hast diese immer noch zur Verfügung falls sie benötigt werden.
|
|
|
 |
|
Similar Threads
|
[Help] Bukkit MySQL Verbindung
05/09/2013 - Minecraft - 8 Replies
Hallo epvp Community,
ich habe eine wichtige Frage :
Ich brauche in meinem aktuellen Plugin dringend eine Datenbankverbindung nur kann leider nichts mit MySQL.
Daher benötige ich folgende Methoden :
public int getValue(Player p);
public int setValue(Player p, int value);
|
Keine Verbindung zum Mysql
08/15/2012 - Metin2 Private Server - 7 Replies
Tagchen,
nach 4 stunden ;
socket_connect: HOST localhost:xxxxx, could not connect.
an den Files des Servers liegt es zu 100% nicht, es kommen keine anderen Meldungen in den Syserr's
Und nein nicht die Tabellen in Mysql reparieren, sind alle in Ordnung
|
PHP Kenntnisse in Verbindung mit MySQL?
03/25/2012 - Main - 1 Replies
Wer sich selber überzeugen will -> Goettersohn Armory 2.4.3
Ich versuche gerade dieses Armory fertigzustellen, ich habe auch schon die meisten Fehler beseitigt, doch an diesem bin ich jetzt hängen geblieben, dafür fehlen mir die Kenntnisse.. Wenn jemand also eine Ahnung hat, wie ich so eine Zeile (bsp.):
PHP-Quelltext
ändern kann, dass es funktioniert, bzw. eine Lösung hat dann möge er mir doch bitte helfen...
|
Keine MySql verbindung...
01/05/2011 - Metin2 Private Server - 3 Replies
Hey Com,
ich habe es endlich geschaft und auf meinem Hamachi die 2010 Flies zum laufen gebracht! Jedoch komme ich mit dem Test Char ins Game usw aber nicht auf meine MySql Datenbanken!
So siehts bei Server start aus:
http://img210.imageshack.us/img210/7108/helpqh.pn g
Und so nach 20 Mins (BIN ABER IMGAME!):
http://img819.imageshack.us/img819/6301/help2.png
|
Keine MySQL verbindung.
11/04/2010 - Metin2 Private Server - 7 Replies
Hallo.
Letztens hat -Tuniii- auf meinem Server versucht das Api Tool zu fixxen.
(Hat er/sie kp :D aber nich geschafft)
So, immer wenn Ich mich in Navicat einloggen möchte kommt folgendes:
2003 - Can' t connect to MySQL server "HamachiIP" (10060)
Er/sie hat iwas in VirtualPc eingegeben, kann mich aber nich mehr genau daran erinnern.
|
All times are GMT +1. The time now is 18:22.
|
|