2016-10-06 17 views
-1

Ich habe eine Datenbanktabelle test_config mit 2 Spalten benannt Name & Wert. Ich würde gerne jede Zeile durchlaufen und $variables aus dem Namen und Wert erstellen, z. B. , die dann in PHP-Datei verwendet werden können. Die erste Zeile enthält abc in der Spalte Name und 123 in der Spalte Wert, so dass die erstellte Variable $abc = 123;PHP-Variablen aus der Datenbank

ist. Dies kann getan werden.

Danke.

+4

zu nennen, aber Sie sollten wahrscheinlich nur stattdessen ein Array verwenden. – jeroen

+0

können Sie so etwas wollen - http://stackoverflow.com/questions/4916510/create-new-variables-from-array-keys-in-php –

Antwort

0

Also mit ein bisschen Nachforschung habe ich eine Lösung gefunden.


try { 
    $conn = new PDO("mysql:host=".DB_HOST.";dbname=".DB_NAME."", DB_USERNAME, DB_PASSWORD); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $stmt = $conn->prepare("SELECT Name, Value FROM test_config"); 
    $stmt->setFetchMode(PDO::FETCH_KEY_PAIR); 
    $stmt->execute(); 
    $array = $stmt->fetchAll(); 
    //var_dump($array); 
    extract($array); 
    } 
catch(PDOException $e) 
    { 
    echo "Connection failed: " . $e->getMessage(); 
    } 
$conn = null; 

Dann teste ich es mit

echo "The first row variable is $abc</br>"; 
0

Ich habe gelesen, dass Sie für jeden Namen eine Variable erstellen wollten. Wenn ich du wäre, würde ich es in ein Array setzen, genau wie Jeroen gesagt hat. Dies kann, indem Sie folgendes erreicht werden:

$host = "localhost"; 
    $user = "username"; 
    $pass = "password"; 
    $dbname = "myDB"; 

    $conn = new mysqli($host, $user, $pass, $dbname); 

    if ($conn->connect_error) { 
     die("ERROR: " . $conn->connect_error); 
    } 

    $query = "SELECT name FROM table"; 
    $name = $conn->query($query); 

    $query2 = "SELECT value FROM table"; 
    $value = $conn->query($query2); 
+0

Das beantwortet nicht die Frage des OP. – jeroen

+0

Hoppla, habe nicht gelesen, dass er eine Variable für jeden Namen wollte, aber diese Methode ist besser, es wäre effizienter, sie in ein Array zu setzen –

0

Innerhalb der Schleife, wo Sie Ihre Datenbank Zeilen iterieren können Sie extract() verwenden, um die Spalten als Variable mit ihren Werten zu setzen.

while ($databaseROW = mysql_fetch_assoc($result)) 
{ 
    extract($databaseROW); 

    //rest of code from here down can now use variables 
    //you have columns Name & Value 
    //so now $Name & $Value variables are available 
    //$Name = "value from column Name for this $databaseROW"; 
    //$Value = "value from column Value for this $databaseROW"; 

} 
1

, dass die Art und Weise, aber ohne Ja Ihre Variablen

$arr = array(); 
while($row = $query->fetch_array()){ 
    $arr['name'=>$row['name'], 'value'=>$row['value']]; 
}