Php 正在尝试使用数据库中的数据填充表单,但未插入任何数据
我试图编写代码,从我的sql数据库中获取信息,并将其插入要编辑的html字段中 我正在使用的数据库包含 -职位编制(10) -标题文本 -作者文本 -日期 -内容文本 -tag1和2都是文本 当我运行错误检查时,我得到的信息是“array(1){[0]=>string(5)“00000”}”,我的代码中是否有任何人可以看到的会导致这种情况?我完全没有主意了。提前感谢您的回复,无论他们是否解决了问题 编辑:我也只使用数据库中实际存在的postid,所以这不是因为数据库中没有关于该id的信息 编辑2:不同的问题Php 正在尝试使用数据库中的数据填充表单,但未插入任何数据,php,html,mysql,pdo,Php,Html,Mysql,Pdo,我试图编写代码,从我的sql数据库中获取信息,并将其插入要编辑的html字段中 我正在使用的数据库包含 -职位编制(10) -标题文本 -作者文本 -日期 -内容文本 -tag1和2都是文本 当我运行错误检查时,我得到的信息是“array(1){[0]=>string(5)“00000”}”,我的代码中是否有任何人可以看到的会导致这种情况?我完全没有主意了。提前感谢您的回复,无论他们是否解决了问题 编辑:我也只使用数据库中实际存在的postid,所以这不是因为数据库中没有关于该id的信息 编辑2
<?php
include("connect.php");
$delete_message_query = $db->prepare("
DELETE FROM `blogposts`
WHERE `postid` = :id
")
$delete_message_query->execute(array(
:id => $_GET["id"]
)
);
header("Location: edit.php");
?>
正在尝试使用此代码删除某一行
<?php
$id = $_GET["id"];
include ("connect.php");//database connection
$get_blog_query = $db->prepare("
SELECT * FROM `blogposts`
WHERE `postid` = '$id'
");
$get_blog_query->execute();
?>
<!DOCTYPE HTML>
<html>
<head>
<title>Form Edit Data</title>
</head>
<body>
<table border=1>
<tr>
<td align=center>Edit Blog Posts</td>
</tr>
<tr>
<td>
<table>
<form method="post" action="edit_data.php">
<input type="hidden" name="id" value="<? echo "$row[postid]"?>">
<tr>
<td>Title</td>
<td>
<input type="text" name="title"
size="20" value="<? echo "$row[title]"?>">
</td>
</tr>
<tr>
<td>Author</td>
<td>
<input type="text" name="address" size="40"
value="<? echo "$row[author]"?>">
</td>
</tr>
<tr>
<td>Content</td>
<td>
<textarea name='content' rows=10 cols=50 id='content'value="<? echo "$row[content]"?>"></textarea>
</td>
</tr>
<tr>
<td>Catagory 1</td>
<td>
<input type="text" name="address" size="40"
value="<? echo "$row[tag1]"?>">
</td>
</tr>
<tr>
<td>Catagory 2</td>
<td>
<input type="text" name="address" size="40"
value="<? echo "$row[tag2]"?>">
</td>
</tr>
<tr>
<td align="right">
<input type="submit"
name="submit value" value="Edit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
</body>
</html>
由于某些原因,您没有使用准备好的语句,而您应该使用。
下面是代码
<?php
include ("connect.php");//database connection
$stmt = $db->prepare("SELECT * FROM `blogposts` WHERE `postid` = ?");
$stmt->execute(array($_GET["id"]));
$row = $stmt->fetch();
?>
$row[postid]不是字符串,它是一个变量,因此不需要在其周围加引号。但是,字段确实需要转义,因此,请尝试使用$row['title'].而不是“$row[title]”来填充$row的代码在哪里?我将使用什么来获取它,它类似于$row=$get_blog_query->fetch();为什么要尝试不知道如何使用的语法?我的回答中有一个例子。按照它来尝试并学习:(fetch()只会给您一行。也许在进入execute()之前,应该对$\u GET[“id”]进行消毒还有。谢谢!除了内容区外,这一切都有效!输入区和文本区在语法上有区别吗?没关系,我通过在区域内回音修复了它!非常感谢你的帮助和快速回复!@Chris sure。textarea没有值属性。但是如果你能在一个mor上提供帮助,输出必须与显示的相同我会永远感激的。我试图用类似的代码删除,但我的execute语句无效。我用代码编辑了主帖。“字段”不需要“转义”。字符串需要。
<?=htmlspecialchars($row["postid"])?>