【发布时间】:2013-09-19 09:12:54
【问题描述】:
通常我使用这种形式向数据库中插入一个值(在这种情况下是名字和姓氏):
<form action="" method="post">
First name<br><input type="text" name="fname">
Last name: <br><input type="text" name="lname">
<input type="submit">
</form>
现在我想编辑表格。检索值(名字和姓氏)并将其放入下一个表单,如下所示:
<form action="" method="post">
First name<br><input type="text" name="fname" value="'.$user['fname'].'">
Last name: <br><input type="text" name="lname" value="'.$user['lname'].'">
<input type="submit">
</form>
但是当我这样做时,我不能在文本字段中使用双引号。我可以在将值插入数据库时使用它,但不能在我想从表单更新值时使用它。它只是在第一个双引号符号处剪切/结束字符串..
您如何构建用户友好的界面来编辑表格中的数据?
顺便说一句,我使用 PDO 来选择、插入和更新表格。
提前致谢。
【问题讨论】:
-
在构建查询时,是否使用
?-syntax(在 PDO 中)甚至命名参数?因为它会自动为您修复报价,所以不要自己做。请参阅此处的示例:php.net/manual/en/pdo.prepare.php -
是的,我自己定义名称而不是使用
?。你建议不要吗?有没有办法允许双引号并自己定义名称?如果我自己定义名称,我会更好地跟踪代码。 -
如果您已经在其他地方问过同样的问题,则不应打开新问题。如果您没有我们的新信息,尤其如此。发现这个:stackoverflow.com/questions/18805685/… 另外,
addslashes应该可以解决问题:value="' . addslashes($user['fname']) . '" ... -
对不起.. 即使这是两个不同的问题?相同的问题,但有两个不同的问题。
-
好吧,你显然有同样的问题需要解决(引用机制出错)。在这个问题上有很好的意见可以解决你的问题(即“逃避你的东西”),例如瓦利德汗。所以你可以继续讨论而不是创建一个新的讨论,假装不相关。为了帮助您:您的问题不是数据库,因为您使用 PDO(我在另一个问题上阅读了您的代码,看起来不错)。所以修复你的 HTML 输出,这将解决问题。如果您还不明白是什么导致了您的麻烦,请告诉我。
标签: php mysql forms pdo sql-update