• 16.04.2024, 20:29
  • Registrieren
  • Anmelden
  • Sie sind nicht angemeldet.

 

Lieber Besucher, herzlich willkommen bei: Aqua Computer Forum. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

PHP Datenbankabfragefunktion

Donnerstag, 11. Februar 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.

Quellcode

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:

Quellcode

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

Donnerstag, 11. Februar 2010, 15:55

Quellcode

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

Quellcode

1
$out[] = $result;

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »palme|kex`« (11. Februar 2010, 15:56)

Donnerstag, 11. Februar 2010, 17:21

Du bist mein Held für Heute :)

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

PHP-Quelltext

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

Sonntag, 14. Februar 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.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Y0Gi« (22. Januar 2013, 03:57)

Sonntag, 14. Februar 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

Dienstag, 16. Februar 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.

Mittwoch, 17. Februar 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.

Donnerstag, 18. Februar 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 ;)

Donnerstag, 18. Februar 2010, 23:46

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

Freitag, 19. Februar 2010, 08:26

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

Freitag, 19. Februar 2010, 10:37

Da sind sich eben nicht alle einig :)

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

Montag, 22. Februar 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 ;)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Y0Gi« (22. Februar 2010, 20:54)