在MSQL字符串中解析PHP中的变量

时间:2019-03-01 20:55:31

标签: php mysqli

我不知道自己在代码中做错了什么。

我有一个带有GradDerSchwierigkeitPositiv表的mysql数据库。

这是表中的数据:

  

[id] [text]

     

[1] [$ Anr6g warn folgende anspruchsvolleForschungsaufträgeanvertraut]

     

[...] [...]

我的PHP代码:

<?php 
SESSION_START(); 
header('Content-Type: text/html; charset=ISO-8859-1');
$Anr6g = $_SESSION["Anr6g"];
echo $Anr6g;
include 'scripts/config.php';
$connect = mysqli_connect($servername, $username, $password, $database);
$set_utf8 = mysqli_query("SET NAMES 'utf8'");
$query1 = "SELECT * FROM GradDerSchwierigkeitPositiv";
$result1 = mysqli_query($connect, $query1);
include 'templates/header.html';
if ($result1->num_rows > 0) {
    // output data of each row
    echo '<select name="list">';
    echo '<option>Select List</option>';
    while($row = $result1->fetch_assoc()) {
        $text = $row['text'];
        echo "<option value='" . $row["id"] ."'>" . $text ."</option>";
    }
    echo '</select>';
} else {
    echo "0 results";
}
$conn->close();
include 'templates/footer.html'; 
?>

变量$ _SESSION [“ Anr6g”]例如是“ Ihm”。

但是我没有得到想要的结果。

我得到的不是“ Ihm waren folgende anspruchsvolleforschungsaufträgeanvertraut”。

为什么?

我不明白为什么PHP无法正确解析变量。

谢谢您的提示。

1 个答案:

答案 0 :(得分:0)

这是解决方案

preg_match_all('/(?:\$(\w*))/', $text, $b);
foreach ($b[1] as $a) {
$text = str_replace('$' . $a, $$a, $text); }