Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 18:21

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[PHP] MySQL Verbindung zwischenspeichern

Discussion on [PHP] MySQL Verbindung zwischenspeichern within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
Mr.Tr33's Avatar
 
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
Mr.Tr33 is offline  
Old 01/15/2015, 13:29   #2
 
KoKsPfLaNzE's Avatar
 
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.
KoKsPfLaNzE is offline  
Thanks
1 User
Old 01/15/2015, 13:37   #3
 
NotEnoughForYou's Avatar
 
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.
NotEnoughForYou is offline  
Old 01/15/2015, 17:10   #4


 
.Marcel''s Avatar
 
elite*gold: 100
Join Date: Sep 2009
Posts: 8,143
Received Thanks: 2,763
Würde dir auch einen Umstieg auf PDO empfehlen.
.Marcel' is offline  
Old 01/15/2015, 17:46   #5

 
xEncounter's Avatar
 
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.
xEncounter is offline  
Old 01/15/2015, 17:48   #6
 
devcode's Avatar
 
elite*gold: 10
Join Date: Feb 2012
Posts: 313
Received Thanks: 61
Steht denn irgendwo explizit das er den mysql driver benutzt?
devcode is offline  
Old 01/15/2015, 18:07   #7

 
Mr.Tr33's Avatar
 
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
Quote:
Originally Posted by NotEnoughForYou View Post
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
Mr.Tr33 is offline  
Old 01/15/2015, 18:10   #8

 
Synatex's Avatar
 
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.
Synatex is offline  
Old 01/15/2015, 18:36   #9

 
Mr.Tr33's Avatar
 
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.
Mr.Tr33 is offline  
Old 01/15/2015, 20:22   #10

 
xEncounter's Avatar
 
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. ^^
xEncounter is offline  
Old 01/15/2015, 20:26   #11
 
NotEnoughForYou's Avatar
 
elite*gold: 0
Join Date: Jun 2010
Posts: 3,406
Received Thanks: 2,024
Jo ist mittlerweile deprecated.

NotEnoughForYou is offline  
Old 01/15/2015, 23:03   #12

 
Mr.Tr33's Avatar
 
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.
Mr.Tr33 is offline  
Old 01/16/2015, 00:40   #13

 
Synatex's Avatar
 
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.
Synatex is offline  
Thanks
2 Users
Old 01/16/2015, 11:51   #14

 
Mr.Tr33's Avatar
 
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?
Mr.Tr33 is offline  
Old 01/16/2015, 13:17   #15

 
Synatex's Avatar
 
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.
Synatex is offline  
Reply


Similar Threads 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.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.