2016-10-06 7 views
-1

test_configというデータベーステーブルが2列あり、名前は&です。 各行をループして、名前と値のから$variablesを作成して、それをPHPファイルで使用することができます。 最初の行は、名前列にabc、値columbに123があるため、作成可能な値は$abc = 123;データベースからのPHP変数

となります。

ありがとうございました。

+4

に名前を付けることなく、その、しかし、あなたはおそらくだけではなく、配列を使用する必要があります。 – jeroen

+0

このようなものが欲しいかもしれません - http://stackoverflow.com/questions/4916510/create-new-variables-from-array-keys-in-php –

答えて

0

私は解決策を見つけました。


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; 

それから私は

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

名前ごとに変数を作成したかったとお伝えしました。もし私があなただったら、私はJeroenが言ったように、それを配列に入れるでしょう。これは、次の操作を実行することによって達成することができます。

$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

OPの質問には答えません。 – jeroen

+0

申し訳ありませんが、それぞれの名前に変数が必要だとは読めませんでしたが、この方法は優れています。配列に配置する方が効率的です –

0

は、あなたがこのようにデータベースから配列を持っていると仮定 -

$foo = array('first' => '1st', 
      'second' => '2nd', 
      'third' => '3rd'); 

あなたのように出力したい - あなたはextract()機能

を使用することができます

$first = '1st'; 
$second = '2nd'; 
$third = '3rd'; 

<?php extract($foo); ?> 

http://ua.php.net/extract

リファレンス - あなたはそれらの値を持つ変数として列を設定した抽出物を()を使用することができ、データベースの行を反復処理するあなたのループ内Create new variables from array keys in PHP

0

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

でそれをテストする方法ですが、はい、あなたの変数

$arr = array(); 
while($row = $query->fetch_array()){ 
    $arr['name'=>$row['name'], 'value'=>$row['value']]; 
} 
関連する問題