php - 将数据从 mySql DB 加载到 HTML 文本框
问题描述
我正在尝试从我的页面中的数据库表加载数据。
我在下面报告的这个是一个示范性的例子,解释我想如何实现它......实际上我们正在谈论数据库的 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
解决方案
问题之一是您正在通过$conn
并且$sql1
顺序错误。
$result = mysqli_query($sql1, $conn);
应该$result = mysqli_query($conn, $sql1);
如果我想尝试 var_dump($details) 它返回 NULL
这正是您需要$result
在使用它之前进行检查的原因。如果成功或失败,则mysqli_query
返回- http://php.net/manual/en/mysqli.query.php#refsect1-mysqli.query-returnvalues。object
false
你不需要在这里花哨,但你至少应该做一个健全的检查。
...
$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 注入以及如何避免它。
推荐阅读
- postgresql - 如何在 PostgreSQL 中编写此查询?来自甲骨文的原创
- chisel - 在凿子中推断出闩锁吗?
- ios - 在 iOS 15 SwiftUI 可搜索搜索栏上禁用自动更正
- reactjs - 反正有没有检测到一个div的边距?
- python - 在 django 中获取 Typerror 但字段似乎定义正确
- java - 如何检查是否已在 ArrayList 中的方法中提出问题?
- react-native - React Native SvgUri 的 Svg 共享站点
- angular-universal - i18n json 文件上的 404
- android - 文字未在 ios 上显示,但在 Android 和桌面上显示
- windows - windows下如何将一个文件夹复制到多个文件夹中