数据库中的php变量
我有一个名为数据库中的php变量,php,mysql,Php,Mysql,我有一个名为test\u config的数据库表,有两列,名为Name&Value。 我想循环遍历每一行,并从名称和值创建$variables,例如$name=“value”。 第一行的名称column中有abc,值columb中有123,因此创建的vaiable将是$abc=123 这是可以做到的 谢谢。我听说您想为每个名称创建一个变量。如果我是你,我会像杰罗恩说的那样把它放在一个数组中。这可以通过执行以下操作来实现: $host = "localhost"; $user =
test\u config
的数据库表,有两列,名为Name&Value。
我想循环遍历每一行,并从名称和值创建$variables
,例如$name=“value”然后可以在php文件中使用的代码>。
第一行的名称column中有abc,值columb中有123,因此创建的vaiable将是$abc=123代码>
这是可以做到的
谢谢。我听说您想为每个名称创建一个变量。如果我是你,我会像杰罗恩说的那样把它放在一个数组中。这可以通过执行以下操作来实现:
$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);
假设您从数据库中获得如下数组-
$foo = array('first' => '1st',
'second' => '2nd',
'third' => '3rd');
您希望输出为-
$first = '1st';
$second = '2nd';
$third = '3rd';
您可以使用extract()
函数
<?php extract($foo); ?>
引用-在循环中迭代数据库行,可以使用extract()将列设置为变量及其值
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";
}
因此,通过进一步的研究,我找到了一个解决方案
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>";
echo“第一行变量是$abc”;
就是这样,但是没有命名变量
$arr = array();
while($row = $query->fetch_array()){
$arr['name'=>$row['name'], 'value'=>$row['value']];
}
是的,但是你可能应该用数组来代替。也许你想要这样的东西-这不能回答OP的问题。对不起,我没有读到他想要每个名字都有一个变量,但是这个方法更好,把它们放在数组中会更有效