我有一個名爲test_config
的數據庫表,帶有2個列,名爲&值。 我想遍歷每一行,並創建$variables
從名稱和值,例如,然後可以在PHP文件中使用。 第一行在Name Colum中有abc,在Value columb中有123,所以創建的可變性將爲$abc = 123;
來自數據庫的php變量
可以這樣做。
謝謝。
我有一個名爲test_config
的數據庫表,帶有2個列,名爲&值。 我想遍歷每一行,並創建$variables
從名稱和值,例如,然後可以在PHP文件中使用。 第一行在Name Colum中有abc,在Value columb中有123,所以創建的可變性將爲$abc = 123;
來自數據庫的php變量
可以這樣做。
謝謝。
因此,通過一些進一步的研究,我找到了一個解決方案。
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>";
我讀到你想爲每個名字創建一個變量。如果我是你,我會把它放在一個陣列中,就像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);
這並不回答OP的問題。 – jeroen
哎呀抱歉,沒有讀到他想爲每個名稱指定一個變量,但是這種方法更好,將它們放入數組會更高效 –
假如你要從數據庫陣列這樣的 -
$foo = array('first' => '1st',
'second' => '2nd',
'third' => '3rd');
你想輸出 -
$first = '1st';
$second = '2nd';
$third = '3rd';
可以使用extract()
功能
<?php extract($foo); ?>
裏面你的循環,你遍歷數據庫行,你可以使用提取物()來設置列,與他們的價值觀變量。
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";
}
這是這樣的測試,但沒有命名變量
$arr = array();
while($row = $query->fetch_array()){
$arr['name'=>$row['name'], 'value'=>$row['value']];
}
是的,但你應該只使用一個數組來代替。 – jeroen
也許你想要這樣的東西 - http://stackoverflow.com/questions/4916510/create-new-variables-from-array-keys-in-php –