• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Variable in Variable

Status
Für weitere Antworten geschlossen.

Bit2_Gosu

Neues Mitglied
Hi !

Ich habe eine "function.inc", die ich in die "threads.php" include.

function.inc:

PHP:
function get($befehl,$spalte)
{
    include("lokal/verbindung.inc");
    
    $ergebnis = mysql_query($befehl,$verbindung);

    $assoc_array = mysql_fetch_assoc($ergebnis);

    return ($assoc_array[$spalte]);
}

(in der verbindung.inc wird nur die mysql verbindung aufgebaut)

in der threads.php steht:

PHP:
$befehl2 = "select max(P_ID) from post where Threadname = '$a'";
        
        $P_ID = get($befehl2,"P_ID");

irgendwie returned die Funktion aber 0, obwohl sie das nicht sollte...

Liegt das vielleicht an dem $assoc_array[$spalte] ??

Kann mir jemand helfen ? Wäre toll :wink:
 
Nimm doch mal mysql_fetch_row statt mysql_fetch_assoc

Bei mysql_fetch_assoc musst du die Spalten mit Ihrem Namen ansprechen, vielleicht machst
du das, weiß ich ja nicht..
Aber da die Konstante P_ID heißt, denke ich es ist ein Integer?!

Vielleicht solltest du deine Funktion ergänzen:

PHP:
function get($befehl,$spalte)
{
    include("lokal/verbindung.inc");
    
    $ergebnis = mysql_query($befehl,$verbindung);

if (is_numeric($spalte)) {

    $assoc_array = mysql_fetch_row($ergebnis);
 
}
else {

    $assoc_array = mysql_fetch_assoc($ergebnis);

}

    return ($assoc_array[$spalte]);
}
P.S.:

Schreib das lieber so: ( ` kannste auch weglassen, ist aber besser! )

max(); kann auch weg, oder willste mehrere IDs übergeben?

Hast du Threadname wirklich groß geschrieben?
Könnte auch der Fehler sein.

PHP:
$befehl2 = "SELECT `P_ID` FROM `post` WHERE `Threadname` = '".$a."';";
        
$P_ID = get($befehl2,"P_ID");
 
Zuletzt bearbeitet:
Danke für deine Tipps !

Ich hab inzwischen auch meine Fehler gefunden... SAU DUMM !!!!

Es hätte natürlich heißen müssen

PHP:
$P_ID = get($befehl2,"max(P_ID)");

ich hab ja max() selected... :shock: :shock: :shock:


Naja gut was soll man machen :-? Also danke noch mal !
 
Oder du schreibst deinen MySQL Befehl um ;)

PHP:
$befehl2 = "SELECT max(`P_ID`) as P_ID FROM `post` WHERE `Threadname` = '".$a."';";

Das as value benennt die Spalte um.
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben