我在从mysql数据库获取结果并将其转换为流行表单时遇到问题。基本上,我正在制作一个项目数据库,玩家可以在其中提交游戏中的项目细节,并查看数据库以获取每个项目的信息。我有一切工作,以增加项目的数据库和查看数据库。现在我正在尝试编写一个编辑项目页面。我基本上重用了additem页面中的表单,因此它显示的是相同的表单。在edititem页面的顶部,我有php代码从url中提取项目编号,因为项目编号是唯一的。所以我使用一个prepared语句来提取条目号,然后尝试从数据库中检索其余的信息,然后将每个信息设置为一个变量。我的代码有问题,但找不到任何错误。我输入了一些头调用调试把信息在网址栏…但头甚至没有被调用在某些地点,我没有得到任何错误。
在表单中,我使用了
<input name="itemname" type="text" value="<?php $edit_itemname?>">
文本框中没有显示任何内容。我对php还比较陌生,调试起来似乎比我用过的其他语言要困难得多..任何关于调试的帮助或建议都将不胜感激。我把我的php代码贴在下面,如果你们看到任何错误…我不应该有这么简单的问题!我把头发拔出来了哈哈。
谢谢你们!
<?php
require 'dbh.php';
if (!isset($_GET['itemnumber'])) {
header("Location: itemdb.php");
exit();
}else{
$sql = "SELECT * FROM itemdb WHERE id = ?";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
header("Location: edititem.php?error=sqlerror");
exit();
}else{
$getid = $_GET['itemnumber'];
mysqli_stmt_bind_param($stmt, "i", $getid);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
//Make sure an item is selected
if ($result == 0) {
$message = "You must select an item to edit!";
header("Location: edititem.php?Noresults");
exit();
}else{
while ($row = mysqli_fetch_assoc($stmt)) {
$edit_itemname = $row['name'];
$edit_itemkeywords = $row['type'];
$edit_itemego = $row['ego'];
$edit_itemweight = $row['weight'];
$edit_itemacordmg = $row['acordmg'];
$edit_itemtags = $row['tags'];
$edit_itemworn = $row['worn'];
$edit_itemaffects = $row['affects'];
$edit_itemloads = $row['loads'];
$edit_itemarea = $row['area'];
$edit_itemcomments = $row['comments'];
header("Location: edititem.php?testing");
}
}
}
}
?>
2条答案
按热度按时间pgx2nnw81#
获取
$edit_itemname
输入您应该使用的输出<?=
不是<?php
. 说<?php
将运行代码,所以基本上这只是一行变量。您没有告诉它打印变量中的值。如果你的整个线条看起来像:
<input name="itemname" type="text" value="<?= $edit_itemname?>">
这应该给你你想要的。这个<?=
相当于说echo $edit_itemname;
如果你不喜欢用<?=
你也可以说<input name="itemname" type="text" value="<?php echo $edit_itemname; ?>">
kqhtkvqz2#
您的代码应该更改为更可读的形式,您应该添加一个输出-我不推荐使用
<?=
-你需要选择如何处理你的行-也许<input>
,<table>
-或者别的什么?