• 18.07.2025, 20:28
  • S’inscrire
  • Connexion
  • Vous n’êtes pas connecté.

 

DerMaddin

Full Member

PHP Datenbankabfragefunktion

jeudi 11 février 2010, 14:19

Hi,

ich habe vor eine Funktion zu entwickeln, die eine Datenbankabfrage ausführt und als array ausgibt.
Hier mal der Code zur Funktion.

Code source

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//Abfrage
function dbQuery($SQL_COMMAND)
{
	$connection = mysql_connect (MYSQL_SERVER, MYSQL_USER, MYSQL_PASSWORD);
	mysql_select_db(MYSQL_TABLE);
	$query = mysql_query($SQL_COMMAND);
	
	while($result = mysql_fetch_assoc($query))
	{
		$out = $result;
	};
	mysql_close($connection);
	
	return $out;
};


Dann frage ich so ab:

Code source

1
2
3
$result = array(dbQuery("SELECT * FROM mailboxes;"));

print_r($result);


Wieso gibt der mir nich das ganze Array aus, sondern nur den letzten Eintrag?

Grüße Maritn

palme|kex`

God

jeudi 11 février 2010, 15:55

Code source

1
$out = $result;

weil du mit der Zeile den Wert von $out immer überschreibst und nicht $result anhängst.
wenn ich mich richtig erinnere muesste das so aussehen

Code source

1
$out[] = $result;

Ce message a été modifié 1 fois. Dernière modification effectuée par "palme|kex`" (11 février 2010, 15:56)

DerMaddin

Full Member

jeudi 11 février 2010, 17:21

Du bist mein Held für Heute :)

Habs noch ein wenig modifiziert, dass die Datensätze bei 1 beginnen.

Code source PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//Abfrage
function dbQuery($SQL_COMMAND)
{
    $connection mysql_connect (MYSQL_SERVERMYSQL_USERMYSQL_PASSWORD);
    mysql_select_db(MYSQL_TABLE);
    $query mysql_query($SQL_COMMAND);
    $out['num_rows'] = mysql_num_rows($query);
    
    $i 1;
    
    while($result mysql_fetch_assoc($query))
    {
        $out[$i] = $result;
        $i++;
    };
    
    mysql_close($connection);
    
    unset($i);
    
    return $out;
};


Grüße

Y0Gi

God

dimanche 14 février 2010, 15:46

Ich habe seinerzeit mal eine hübsche Abstraktionsschicht gebaut, die hilft dir vermutlich auch weiter. Für Abfragen schaue dir die Dokumentation zu den `get*()`-Methoden an.

Ce message a été modifié 1 fois. Dernière modification effectuée par "Y0Gi" (22 janvier 2013, 03:57)

cuto8

Full Member

dimanche 14 février 2010, 16:48

Ich habe seinerzeit mal eine hübsche Abstraktionsschicht gebaut, die hilft dir vermutlich auch weiter. Für Abfragen schaue dir die Dokumentation zu den `get*()`-Methoden an.
Meinst du soetwas wie das von mehreren Entwicklern gewartet und mittlerweile sehr stabile und zuverlässige MDB2 aus der PEAR-Bibliothek , das sich selbst auf den einfachsten Webhostern installieren lässt?

:D :P

Y0Gi

God

mardi 16 février 2010, 22:58

Das Teil habe ich 2003 geschrieben, weil es um die Installierbarkeit von Pear-Paketen ohne Shell da meiner Auffassung nach nicht zum Besten stand. Davon ab ist das eine hübsche Klasse, die man schnell mal bei einem Release mitliefern kann um dem Anwender eben genau das Pear-Geraffel nicht abverlangen zu müssen. So manche erfreute und dankende Zuschrift per elektronischer Post bestätigt, dass zumindest einige davon profitieren konnten.

cuto8

Full Member

mercredi 17 février 2010, 11:30

;)

War ja nicht böse gemeint!

Nur ist mittlerweile PEAR in der Standardinstallation integriert und da würde ich halt doch eher auf was setzen, bei dem eine mehr oder weniger große Community hinter steht.

Y0Gi

God

jeudi 18 février 2010, 22:33

Hast ja grundsätzlich auch Recht. Allerdings würde *ich* mittlerweile auch sehr empfehlen, auf etwas anderes als PHP zu setzen ;) Einfach mal quer durch die Bank: Sinatra, Django, Play. Aber ich möchte hier auch nicht *unbedingt* eine Grundsatzdiskussion anzetteln ;)

Eike

Moderator

jeudi 18 février 2010, 23:46

Ach, hab dich nicht so Yogi. Grundsatzdiskussionen über PHP sind immer wieder spannend :D

cuto8

Full Member

vendredi 19 février 2010, 08:26

Geht so - alle sind sich einig, dass PHP eigentlich besch***** ist, aber trotzdem wird es weiter verwendet :D

Eike

Moderator

vendredi 19 février 2010, 10:37

Da sind sich eben nicht alle einig :)

Mich graust es immer wieder, wenn ich an unseren Onlineshop etwas ändern muss.

Y0Gi

God

lundi 22 février 2010, 20:52

Ach, hab dich nicht so Yogi. Grundsatzdiskussionen über PHP sind immer wieder spannend :D




Geht so - alle sind sich einig, dass PHP eigentlich besch***** ist, aber trotzdem wird es weiter verwendet :D
Ja, aber meist von anderen als denen, die es gemerkt haben ;)

Ce message a été modifié 1 fois. Dernière modification effectuée par "Y0Gi" (22 février 2010, 20:54)