|
You last visited: Today at 00:56
Advertisement
[PHP] MySQL Verbindung zwischenspeichern
Discussion on [PHP] MySQL Verbindung zwischenspeichern within the Web Development forum part of the Coders Den category.
01/16/2015, 14:57
|
#16
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Arbeite doch einfach mit prepare und execute...dafür sind sie ja da. Schwer ist es auch nicht.
|
|
|
01/16/2015, 16:11
|
#17
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Okay, ich sehe jetzt aber nicht mehr den wirklichen Vorteil zu den MySQL bzw. MySQLi Funktionen von PHP ausser der Cache Funktion vom Login.
|
|
|
01/16/2015, 16:19
|
#18
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,407
Received Thanks: 2,024
|
|
|
|
01/16/2015, 16:44
|
#19
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Quote:
Originally Posted by Mr.Tr33
Okay, ich sehe jetzt aber nicht mehr den wirklichen Vorteil zu den MySQL bzw. MySQLi Funktionen von PHP ausser der Cache Funktion vom Login.
|
Vorteile von PDO zu MySQL:
Sicherheit!!!, Wiederverwendbarkeit durch Objektorientierung, Portabilität zu anderen Datenbanken
|
|
|
01/16/2015, 17:48
|
#20
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Mehr Sicherheit sehe ich da nicht. Ich muss in beiden trotzdem etwas machen, damit es erst dann sicher ist.
Rest, ja Ok. Aber wenn man eh nur MySQL benutzt hat und Objecte sind nur schöner anzusehen.
|
|
|
01/16/2015, 18:14
|
#21
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Quote:
Originally Posted by Mr.Tr33
Mehr Sicherheit sehe ich da nicht. Ich muss in beiden trotzdem etwas machen, damit es erst dann sicher ist.
Rest, ja Ok.
|
Mit den "Prepared Statements" ist eben diese Sicherheit da, ohne extra weitere Sicherheitsfunktionen aufrufen zu müssen.
MySQL ist deprecated und wird nicht mehr weiterentwickelt. Das ist schon mal der wichtigste Punkt zum Umstieg. PDO ist die Zukunft.
Gruß
|
|
|
01/16/2015, 20:36
|
#22
|
elite*gold: 0
Join Date: Jun 2010
Posts: 3,407
Received Thanks: 2,024
|
Wenn du dir beispielsweise eine eigene DB Klasse auf Basis von PDO machst, kannst du es so machen, dass die Parameter autoamtisch gebunden werden und escaped werden. Kannst dann einfach sagen:
PHP Code:
$db->fetch("SELECT * FROM tab1 WHERE id = ?", array($_POST['id']));
Das kannst du mit beliebigen vielen Parametern machen und die werden automatisch escaped (schonmal 1 Vorteil).
PDO ist objektorientiert (gut mysqli auch, aber deutlich besser finde ich).
PDO unterstützt viele Datenbanktreiber (mysql/mysqli nur einen).
etc.
|
|
|
01/16/2015, 21:28
|
#23
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,009
Received Thanks: 316
|
Und um es anzumerken: Objekte sind nicht nur schöner anzusehen. Die bringen ne' Menge Vorteile
|
|
|
01/19/2015, 12:18
|
#24
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Zurück den zu den Problemen
Ich benutze jetzt diese :variablen
So wie ich es verstanden habe, werden diese dann einfach eingesetzt.
Wieso meckert PDO dann, wenn es mehr Variablen in dem Array sind als im Query gebraucht wird? Ich meine die sind dann doch Wurst.
|
|
|
01/19/2015, 12:38
|
#25
|
elite*gold: 203
Join Date: Sep 2007
Posts: 732
Received Thanks: 190
|
Diese ":variable" sind Platzhalter im Query. Du musst nun für jeden Platzhalter genau einen Wert einfügen.
|
|
|
01/19/2015, 13:02
|
#26
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Ja ok, aber was ist wenn ich mehr angebe als ich brauche?
z.B.
Code:
INSERT INTO `test` (a, b, c) VALUES (:a, :b, :c)
Und mein Array so aussieht:
Code:
:a => 1
:b => 2
:c => 3
:d => 4
:d wird ja nirgends eingesetzt und kann ja somit dann eigentlich irgoniert werden.
|
|
|
01/19/2015, 13:29
|
#27
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,009
Received Thanks: 316
|
Wird aber nicht ignoriert.
|
|
|
01/19/2015, 21:56
|
#28
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Bis jetzt finde ich mit PDO zu arbeiten irgend wie anstrengender >.>
Folgendes Problem:
Ich habe ein extrem langen Query (automatisch genieren lassen, sodass kein Fehler ist) und ihn mit execute "ausfüllen" lassen. Jetzt bekomme ich mit errorInfo vor und nach dem execute folgenden "Fehler":
Code:
array(3) {
[0]=>
string(5) "00000"
[1]=>
NULL
[2]=>
NULL
}
Jedoch trägt es nicht in die Datenbank ein (ist ein INSERT).
Hatte jemand von euch schon mal so etwas?
Ich kann euch ja leider den Query nicht zeigen, benutze ja prepare >.>
|
|
|
01/19/2015, 22:00
|
#29
|
elite*gold: 25
Join Date: Apr 2010
Posts: 1,009
Received Thanks: 316
|
Das prepare-Statement Objekt beinhaltet den Query den du geschickt hast, jedoch nur mit platzhalter.
Einfach
PHP Code:
<?php
var_dump($preparedObject->queryString);
?>
ausgeben.
|
|
|
01/19/2015, 22:18
|
#30
|
elite*gold: 2778
Join Date: Feb 2012
Posts: 3,527
Received Thanks: 1,044
|
Ja ok, mein Query sieht normal aus ohne einem Fehler.
Woran könnte sonst der Fehler liegen?
Code:
INSERT INTO `account` (login,password,email,question1,answer1,question2,answer2,create_time,web_ip,web_aktiviert) VALUES (:login,:password,:email,:question1,:answer1,:question2,:answer2,NOW(),"92.60.148.201","1")
|
|
|
|
|
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 +2. The time now is 00:56.
|
|