Разрешить переменную в PHP внутри строки MSQL - PullRequest
0 голосов
/ 01 марта 2019

Я не знаю, что я делаю не так внутри своего кода.

У меня есть база данных mysql с таблицей GradDerSchwierigkeitPositiv.

Это данные внутри таблицы:

[id] [текст]

[1] [$ Anr6g waren folgende anspruchsvolle Forschungsaufträge anvertraut]

[...] [...]

Мой код 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 anspruchsvolle Forschungsaufträge anvertraut" я получаю "$ Anr6g waren folgende anspruchsvolle Forschungsaufträge anvertraut".

почему?

PHP 1025Правильное разрешение переменной.

Спасибо за советы.

1 Ответ

0 голосов
/ 02 марта 2019

Это было решение

preg_match_all('/(?:\$(\w*))/', $text, $b);
foreach ($b[1] as $a) {
$text = str_replace('$' . $a, $$a, $text); }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...