<div><select class="form-control"name="old_name"></select></div>
<div><input class="form-control" type="text" name="name" pattern="^[\w\- ]+$"/></div>
请注意,select标记中的所有项目都是使用“ innerHTML”从javascript生成的,以更新数据库中的信息。
HTML表单中有两个元素(old_name,name),它们使用POST方法。我想用php将“ old_name”替换为“ name”。这是我的PHP代码。
$orignal_name = $_POST['old_name'];
$q = $db->prepare("UPDATE categories SET name = ? WHERE name = ". $orignal_name);
return $q->execute(array($_POST['name']));
但这没有用。我尝试回显“ old_name”,结果为“ NaN”。
最佳答案
您的实际错误是您没有将$original_name
串联用引号引起来,但这是一个更好的方法
$q = $db->prepare("UPDATE categories SET name = ? WHERE name = ?");
return $q->execute(array($_POST['name'], $_POST['old_name']));
我假设您在进入此代码之前正在检查这两种情况是否都在
$_POST
中并且包含数据。
关于php - PHP从HTML中的select(来自数据库)选项中删除sqlite3中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40933831/