Вставка данных из запроса в форму

#php #html #forms

Вопрос:

Я хочу выполнить запрос, который даст мне только 1 строку.
Затем я хочу вставить эти данные в форму, чтобы затем отредактировать ее и выполнить другие действия, отправляя данные, но дело не в этом.

 <form method="post">

        <label for="Azienda">Azienda</label>
            <input type="text" id="Azienda" name="Azienda" value="<?php echo escape($row["Azienda"]); ?>">
 

Гипотетически, я должен увидеть данные первого поля, взятые из запроса, вставленные в первую метку формы, но она пуста.

Это код, из которого я получаю результаты.

 $name = $_GET['Azienda'];

        $sql = "SELECT [...]
                FROM [...]
                WHERE [...] = :name
                ORDER BY [...]";

            $statement = $connection->prepare($sql);
            $statement->bindParam(':name', $name, PDO::PARAM_STR);
            $statement->execute();
        $result = $statement->fetchAll();
 

Комментарии:

1. Недостаточно подробностей: как вы переходите от вашего SQL — запроса к $row массиву? Как определяется функция escape ?

2. Ответ на все вопросы, касающиеся «это пусто», — это свалка, свалка, свалка. Сбросьте $row , сбросьте результат escape() в этой строке, сбросьте все связанные вещи в коде. Посмотрите, что содержат ваши переменные. Всякий раз, когда происходит какое-то неожиданное поведение, у вас возникает ошибка в вашей логике. Либо переменная не содержит того, что вы думаете, либо ваши условия не соответствуют. Что бы это ни было, вам нужно выполнить отладку, потому что мы не можем запустить ваш код.

3. Я сбросил $result, и это показывает мне, что он получил все данные. Поэтому мне интересно, есть ли ошибка в коде формы, так как я извлек все данные.

4. Все есть на странице, название, форма. Данные извлекаются, но в метки формы ничего не вставляется.

Ответ №1:

Я не определял $row, в этом была проблема.

Ответ №2:

Это очень маленькая проблема. Вам следует просто добавить следующий код в свой .php файл, приведенный ниже:

 <form method="post">
    <label for="Azienda">Azienda</label>
    <input type="text" id="Azienda" name="Azienda" value="
 <?php
    $servername = "localhost";
    $username = "root";
    $password = "";
    $dbname = "";     //database name
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    if ($conn->connect_error) {
      die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT column_name(s) FROM table_name";
    $conn->query($sql);

    if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {
        echo $row["azienda"];//write your column name here which you want to fetch from database
    }
    } else {
        echo "0 results";
    }

?>"> 

Я надеюсь, что ваша проблема будет решена