[PHP] MySQL Wert aus Tabelle lesen

Übersicht Sonstiges Smalltalk

Neue Antwort erstellen

 

Garfield12

Betreff: [PHP] MySQL Wert aus Tabelle lesen

BeitragDi, Aug 24, 2010 17:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Zusammen,
ich arbeite derzeit an einer Online-Platform und muss dafür einige Werte aus einer DB ziehen.
Für ein Problem habe ich folgende dynamsichen Funktion geschrieben:
Code: [AUSKLAPPEN]
function getValueByID ( $id, $column, $db)
{
   connect();
   $sql = "SELECT ".$column." FROM ".$db." WHERE id ='".$id."'";
   $db_erg = mysql_query( $sql );
   return $db_erg;
}

Ich möchte den Wert name so ausgeben:
Code: [AUSKLAPPEN]
$name = getValueByID ( $id, "name", "blub");
Name:<input type="text" name="name" value="<?=$name?>" />

Ich bekomme im Feld aber folgendes:
Code: [AUSKLAPPEN]
Resource id #4

Ich habe schon gegoogelt und jemanden gefunden der das gleiche Problem hat, ihm wird zu MySql_Fetch_Array() geraten, allerdings funktioniert eine andere Fnktion mit ähnlichem Query einwandfrei:
Code: [AUSKLAPPEN]
function getIDByValue ( $column, $value,  $db )
{
   connect();
   $sql = "SELECT id FROM ".$db." WHERE ".$column." ='".$value."'";
   $db_erg = mysql_query( $sql );
   return $db_erg;
}

Warum aber bei der anderen nicht? Vermutung meinerseits: id = int name=string? Kann das hinhauen? Was muss ich bei der Ersten Funktion ändern?
MfG
Yannik

ZaP

BeitragDi, Aug 24, 2010 17:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Versuchs mal mit mysql_fetch_assoc Wink
$db_erg ist kein Text, sondern ein MySQL Ausgabe Handle, das damit erst bearbeitet werden muss.
Starfare: Worklog, Website (download)

D2006

Administrator

BeitragDi, Aug 24, 2010 17:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Es kann sein, dass das geht, weil du nur genau einen Wert abfragst. Aber darauf verlassen würde ich mich nicht. Benutz in jedem Fall fetch-Funktionen à la mysql_fetch_assoc oder _object oder oder.

Ansonsten kann ein SQL-Fehler vorliegen. Mach mal aus dem Query folgendes:
Code: [AUSKLAPPEN]
$db_erg = mysql_query($sql) or die(mysql_error());
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard
Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium
Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2
 

Garfield12

BeitragDi, Aug 24, 2010 17:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
function getValueByID ( $id, $column, $db)
{
   connect();
   $sql = "SELECT ".$column." FROM ".$db." WHERE id ='".$id."'";
   $db_erg = mysql_query($sql);
   $datensatz = mysql_fetch_assoc($db_erg);
   return $datensatz;
}

Jetzt schmeißt er mir das hier vor die Füsse:
Code: [AUSKLAPPEN]
Array

Bei or die kommt Nichts zurück.
Yannik

ZaP

BeitragDi, Aug 24, 2010 18:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Jau, Du bekommst ein assoziatives Array zurück, mit den Indexen entsprechend der Spaltennamen.
Jetzt könntest Du weitermachen mit
Code: [AUSKLAPPEN]

...
$ausgabe = $datensatz['abc'] . " " . $datensatz['xyz'];
return $ausgabe;
Starfare: Worklog, Website (download)
 

Garfield12

BeitragMi, Aug 25, 2010 10:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Werd ich gleich mal ausprobieren.
Ich danke euch schonmal!
Yannik

EDIT:
Getestet und für gut befunden!
Danke euch nochmal! Very Happy

Neue Antwort erstellen


Übersicht Sonstiges Smalltalk

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group