Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用mysql中的行创建变量?_Php_Mysql - Fatal编程技术网

Php 如何使用mysql中的行创建变量?

Php 如何使用mysql中的行创建变量?,php,mysql,Php,Mysql,我想创建如下文件: <?php $cssMainVersion = "1.0.3"; $cssBootStrapVersion = "1.0.1"; $cssElseVersion = "1.0.4"; $jpgVersion = "1.0.1"; $jsMainVersion = "1.0.1"; $jsElseVersion = "1.0.1"; ?> 我创建了一个mySQL表,其中包含变量名和变量数据。例如,第一行包含“cssMainVersion”,第二行包含“1.0.

我想创建如下文件:

<?php
$cssMainVersion = "1.0.3";
$cssBootStrapVersion = "1.0.1";
$cssElseVersion = "1.0.4";
$jpgVersion = "1.0.1";
$jsMainVersion = "1.0.1";
$jsElseVersion = "1.0.1";
?>

我创建了一个mySQL表,其中包含变量名和变量数据。例如,第一行包含
“cssMainVersion”
,第二行包含
“1.0.3”


如何循环遍历每一行,并根据上述格式将数据打印到新文件中?

您可以使用php动态创建变量

$query = mysqli_query($conn, 'SELECT id, cachename, cacheversion FROM cache');
while($row = mysqli_fetch_assoc($query)) {
    $$row['cachename'] = $row['cacheversion'];
}

$
将从右向左求值,因此,首先将
$row['field']
替换为该值,比如说
cssmaversion
,然后我们就有了
$cssmaversion

您可以共享您正在使用的查询吗?迭代行,拉动键和值。使用键作为名称,使用值作为值。为什么不将其存储为中性数据格式,如JSON、YAML甚至INI文件,并使用内置函数读取?将数据存储为代码通常是非常有问题的。@FelippeDuarte,在这里:“从缓存中选择id、cachename、cacheversion”@tadman我稍后会在代码中回显变量。这段代码充满了极其严重的风险,因为它允许有人任意覆盖他们想要的任何变量。不幸的是,这对我不起作用。当我尝试此操作时:$$row['cachename']=$row['cacheversion'];它不创建变量。当我稍后尝试回显一个变量时,该变量没有数据。如果在while循环之后立即回显,它就不起作用了?它在本例中起作用:在
'cacheversion'