Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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表单不显示数据库中的数据_Php_Mysql_Forms_Sql Update - Fatal编程技术网

PHP表单不显示数据库中的数据

PHP表单不显示数据库中的数据,php,mysql,forms,sql-update,Php,Mysql,Forms,Sql Update,因此,我试图从一个数据库中输入数据,在这个数据库中,用户将单击“输入”,并将数据带到一个显示当前数据的表单中,然后用户可以在其中编辑数据,但是该数据不在表单中 第一页是 <?php include 'connection.php'; $id=$_GET['id']; $query = "SELECT * FROM products WHERE ProductID = '$id'"; $result = mysqli_query($connection, $query)

因此,我试图从一个数据库中输入数据,在这个数据库中,用户将单击“输入”,并将数据带到一个显示当前数据的表单中,然后用户可以在其中编辑数据,但是该数据不在表单中

第一页是

   <?php
  include 'connection.php';
  $id=$_GET['id'];
  $query = "SELECT * FROM products WHERE ProductID = '$id'";
  $result = mysqli_query($connection, $query);

  $row=mysqli_fetch_assoc($result);
  ?>

  <form method="post" action="UpdateProduct.php">
  <fieldset>
    <legend>
        Enter Product Details
    </legend>
    <input type="hidden" name="ProductID" value="<?php echo $row['ProductID'];?>" /> 
    <label for="ProductName">Product Name: </label><br />
    <input type="text" name="ProductName" value"<?php echo $row['ProductName'];?>"/><br /><br />
    <label for="ProductPrice">Price: </label><br />
    <input type="text" name="ProductPrice" value"<?php echo $row['ProductPrice'];?>"/><br /><br />
    <label for="ProductImageName">Image Filename: </label><br />
    <input type="text" name="ProductImageName" value"<?php echo $row['ProductImageName'];?>"/><br /><br />

    <input type="submit" value="Submit"/>
    <input type="reset" value="Clear"/>

</fieldset>
使用串联

$query=“从ProductID=”的产品中选择*”$id.“”

同时打印 echo$query

它应该给出以下结果
从ProductID为“1”的产品中选择*不执行此操作。使用PDO准备的语句

$prepare=$connection->prepare("SELECT * FROM products WHERE ProductID=?");
$prepare->execute([$id]);
$fetch=$prepare->fetchall(PDO::FETCH_ASSOC);

如果您转储了
SELECT
查询,它是否会返回任何数据?启用错误报告,并使用
mysqli\u error($connection)
查看查询中是否有错误,并更新您的问题以包含这些错误(如果有)。顺便说一句,您将面临严重的SQL注入。你最好学会如何处理准备好的陈述。有一天,他们很可能会在那里保存您的数据库。请参考重复的问题。它们包含调试代码所需的一切,这是您需要做的,而不是我们。我也问了一段时间,但是我没有看到对这个问题的更新。如果您尝试调试,但不知道如何修复它和/或如何解释错误消息,那么请务必更新您的问题并将其回复给我,我将再看一次。在那之前,你需要在这里尽你的责任;记住,这不是单行道,这会有什么不同?为什么投票结果会被提高?
“$var”
“$var.”
在这里做同样的事情。这个答案根本解决不了这个问题,它是“poetayto,poetahto”。尝试用一些数组来代替$id,比如$data['id'],你会得到一个关于注入保护的答案,但我认为这并不能解决这个问题。这只是一个建议而已。
$prepare=$connection->prepare("SELECT * FROM products WHERE ProductID=?");
$prepare->execute([$id]);
$fetch=$prepare->fetchall(PDO::FETCH_ASSOC);