<div><select class="form-control"name="old_name"></select></div>
<div><input class="form-control" type="text" name="name" pattern="^[\w\- ]+$"/></div>
注意到select标签中的所有项都是使用&#34; innerHTML&#34;从javascript生成的。从数据库更新信息。
HTML表单中有两个使用POST方法的元素(old_name,name)。我想替换&#34; old_name&#34;与&#34;名称&#34;用PHP。这是我的Php代码。
$orignal_name = $_POST['old_name'];
$q = $db->prepare("UPDATE categories SET name = ? WHERE name = ". $orignal_name);
return $q->execute(array($_POST['name']));
但它没有用。我试着回应&#34; old_name&#34;结果是&#34; NaN&#34;。
答案 0 :(得分:1)
您的实际错误是您没有将$original_name
串联包装在引号中,但这是一种更好的方法
$q = $db->prepare("UPDATE categories SET name = ? WHERE name = ?");
return $q->execute(array($_POST['name'], $_POST['old_name']));
我假设您正在检查
$_POST
中是否存在这些情况,并且在获取此代码之前包含数据。