[PHP] SQL & Array

Sonic

New Member
Hallo,

bin mit PHP leider nicht so gut bewandert darum nach einigen Fehlversuchen mit Google meine Frage hier :)

Für ein Script wird ein Array gebraucht

Code:
$ports = array(100,102,106,113,121,150,4957,6000,6001,8768,9999);

Ums genau zu sagen Prüft das Script alle Ports die in diesem Array stehen.
Da sich die Ports aber leider hin und wieder ändern und ich nicht jedesmal das File ändern möchte würde ich gerne aus der SQL Datenbank alle Ports einlesen lassen und dann automatisch ins array einfügen.

Die Struktur der Datenbank ist recht einfach gestalltet.
Datensatz heißt "server" und die Spallte mit den Ports drinnen heist einfach nur "port".
Was ich versucht habe ist

$variable = "SELECT port FROM server";
$port = array($variable);

(abgespreckte version um den Gedankengang klar zu machen)

Ich hoffe es kann mir jemand dabei helfen :)

Lg
 
Ich weiß nicht, ob es daran liegt, dass du zu viel abgespeckt hast, aber was du machst, ist ein Stringarray zu erzeugen mit dem SQL Query als einziges Element. Dieser Query muss auf der Datenbank ausgeführt werden und anschließend kannst du das Ergebnis davon benutzen. D.h. du musst mysql_query oder ähnliches nutzen.

Ein Beispiel dazu, findest du hier: PHP: mysql_fetch_array - Manual

Du musst beachten, dass dir mysql_fetch_array (Link) (oder mysql_fetch_assoc usw.) jeweils einzelne Zeilen liefern. Das liegt daran, dass das Ergebnis von der MySQL-Abfrage ein mehrdimensionales Array ist (1. Dimension: Zeilentreffer 2. Dimension: Spalten pro Zeile). In deinem Fall wäre das unnötig, weil du nur eine Spalte abfragst und die 2. Dimension damit eine Kardinalität von 1 hat. Allerdings kenne ich keine php-Funktion, die erkennt, dass nur eine Spalte als MySQL-Result vorhanden ist, und das Ergebnis automatisch auf eine Dimension reduziert.


Falls du die beschriebenen Zwischenschritte einfach rausgekürzt hast, kannst du den Beitrag ignorieren :)
 
Hallo,

Habs mir von einem Fachkundigen Studenten erklären lassen :)
Gelöst wurde das Problem dann mit diesem Code :)

Code:
<?php
include('inc/sql.inc.php');
$query = "SELECT port FROM server ORDER BY port";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$udpport[]=$row[0];
}

Lg
 
Back
Top