【发布时间】:2013-05-19 07:17:17
【问题描述】:
有人可以帮我解决这个问题吗?当我试图更新我的表时,什么也没有发生,我不知道出了什么问题。我尝试了不同的查询,但没有 1 个有效。
我的代码:http://pastebin.com/8zDpm0Ah 从第 23 行开始不起作用
<?php
foreach($db->query("SELECT * FROM blog WHERE ID LIKE '$ID'") as $row){
echo "Titel: <input type='text' size='50' name='titel' value='$row[titel]'><br>";
echo "Post:<br>";
echo "<textarea name='editblog'>";
echo $row[post];
echo "</textarea>";
echo "<input type='hidden' name='ID' value='";
echo $row[ID];
echo "'>";
}
?>
<input type="submit" value="Edit post" name="postedit">
</form>
<script>
CKEDITOR.replace( 'editblog' );
</script>
<?php
if(isset($_POST['postedit'])){
$titel = $_POST['titel'];
$post = $_POST['editblog'];
$ID = $_POST['ID'];
$STH = $db->prepare("UPDATE blog SET titel='$titel',post='$post' WHERE ID=$ID");
$STH->execute();
echo "<h2>Post edited!</h2>";
}
【问题讨论】:
-
你有什么错误?没有错误?
-
确保将 id 传递到变量 $ID 中,如果变量在 where 子句中为空,则更新将不执行任何操作
-
你能不能做一个 print_r($_POST) 这样我们才能真正看到一切是否按预期通过?
-
对于这个查询:SELECT * FROM blog WHERE ID LIKE '$ID' 为什么使用 LIKE 而不是 '=' ?
-
之前使用 = 但我真的尝试过改变任何东西让它工作。