Загрузить данные из БД mySql в HTML TextBox - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь загрузить данные из таблицы базы данных на своей странице.

это то, что я сообщаю ниже, является наглядным примером, объясняющим, как я хотел бы это реализовать ... на самом деле мы говоримоколо 100 полей базы данных и 1000 пропускаемых строк кода таблицы ...

<?php
$servername = "localhost";
$username = "progettocantiere";
$password = "";
$dbname = "my_progettocantiere";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 



$idCantiere = $_GET['idCantiere'];

$sql1 = "SELECT * FROM Cantiere WHERE idCantiere = '$idCantiere'";



    $result = mysqli_query($sql1, $conn);
    
   
    $details = mysqli_fetch_array($result);




    $savedNomeCantiere = $details["nomeCantiere"];
    $savedCodiceCommessa = $details["codiceCommessa"];
    $savedIndirizzoCantiere = $details["indirizzoCantiere"];

var_dump($details);


$result1 = $conn->query($sql1);

echo($nomeCantiere);

?>


<html>
<head>
</head>
<body>


   
        <table width="300" border="0">
          <tr>
            <td>Name</td>
            <td><input type="text" name="savedNomeCantiere" style="text-align:right" value="<?php echo $savedNomeCantiere; ?>" /></td>
          </tr>
          <tr>
            <td>Cost</td>
            <td><input type="text" name="savedCodiceCommessa" style="text-align:right" value="<?php echo $savedCodiceCommessa; ?>" /></td>
          </tr>
           <tr>
            <td>Cost</td>
            <td><input type="text" name="savedIndirizzoCantiere" style="text-align:right" value="<?php echo $savedIndirizzoCantiere; ?>" /></td>
          </tr>
          
        </table>

<br/>

   
</body>
</html>

Я пытался с этим типом загрузки, который помещает «эхо» внутри «значения» текстового поля, но это не работает.

Эта строка используется для получения «id» путем перенаправления страницы.

$idCantiere = $_GET['idCantiere'];

, если я хочу попробовать var_dump($details), возвращается NULL

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Одна из проблем заключается в том, что вы передаете $conn и $sql1 в неправильном порядке.

$result = mysqli_query($sql1, $conn); должно быть $result = mysqli_query($conn, $sql1);

, если я хочу попробовать var_dump ($ details), он возвращает NULL

Именно поэтомувам необходимо проверить $result перед его использованием.mysqli_query возвращает object в случае успеха или false в случае неудачи - http://php.net/manual/en/mysqli.query.php#refsect1-mysqli.query-returnvalues.

Вам не нужно здесь придумывать, но вы должны хотя бы выполнить проверку работоспособности.

...
$sql1 = "SELECT * FROM Cantiere WHERE idCantiere = '$idCantiere'";
$result = mysqli_query($sql1, $conn);

if ($result !== false) {
    $details = mysqli_fetch_array($result);
    ...

Кроме того, я должен указать, что "SELECT * FROM Cantiere WHERE idCantiere = '$idCantiere'"; очень опасно, потому что вы не можете контролировать $idCantiere.Пожалуйста, посмотрите SQL-инъекцию и как ее избежать.

0 голосов
/ 02 октября 2018

ваш код должен быть таким

<?php
$servername = "localhost";
$username = "progettocantiere";
$password = "";
$dbname = "my_progettocantiere";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 



$idCantiere = $_GET['idCantiere'];

$sql1 = "SELECT * FROM Cantiere WHERE idCantiere = '{$idCantiere'}";



    $result = $conn->query($sql1);


    $details = $result->fetch_array();




    $savedNomeCantiere = $details["nomeCantiere"];
    $savedCodiceCommessa = $details["codiceCommessa"];
    $savedIndirizzoCantiere = $details["indirizzoCantiere"];

var_dump($details);


$result1 = $conn->query($sql1);

echo($nomeCantiere);

?>


<html>
<head>
</head>
<body>



        <table width="300" border="0">
        <tr>
            <td>Name</td>
            <td><input type="text" name="savedNomeCantiere" style="text-align:right" value="<?php echo $savedNomeCantiere; ?>" /></td>
        </tr>
        <tr>
            <td>Cost</td>
            <td><input type="text" name="savedCodiceCommessa" style="text-align:right" value="<?php echo $savedCodiceCommessa; ?>" /></td>
        </tr>
        <tr>
            <td>Cost</td>
            <td><input type="text" name="savedIndirizzoCantiere" style="text-align:right" value="<?php echo $savedIndirizzoCantiere; ?>" /></td>
        </tr>

        </table>

<br/>


</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...