我有一个问题: 我的数据库中有2个表:
articles:
id useid title
users
id name surname
我的观点:
Author<select name="author" id="author">
<?php foreach ($users as $u): ?>
<option value="<?php $u['id'] ?>" <?php if($u['id']==$a['userid']): ?> selected="selected" <?php endif ?> style="width:300px"><?php echo $u['name'] ?> <?php echo $u['surname'] ?></option>
<?php endforeach; ?>
</select>
<p><b>Content:</b></p>
<textarea name="content" id="content" style="width:605px; height: 300px;" rows="200"><?php echo $a['content']; ?></textarea>
我的控制器:
$this->db->query("UPDATE articles SET title='$title',userid='$author' WHERE id=$aid" );
当我这样做时,我收到错误1452:无法添加或更新子行:外键约束失败(myblog
。articles
,CONSTRAINT articles_ibfk_1
FOREIGN KEY({{ 1}})参考userid
(admindetails
)ON UPETE CASCADE ON UPDATE CASCADE)
请帮帮我......
答案 0 :(得分:2)
<option value="<?php $u['id'] ?>" <?php if($u['id']==$a['userid']): ?> selected="selected" <?php endif ?> style="width:300px"><?php echo $u['name'] ?> <?php echo $u['surname'] ?></option>
你的echo语句在哪里..
将<option value="<?php echo $u['id']; ?>"
代替“,这就是为什么密钥重复,每次它将采用相同的值为NULL。
只需改变它。
答案 1 :(得分:0)
在这种情况下,这意味着您的$author
变量保留并且admindetails
表中不存在的id(如果是数字)