我打算创建我的网站;但要做到这一点,我需要写一个CMS ...... 我已经完成了大部分工作,但现在我在执行此代码时遇到了麻烦。它不会返回任何错误,但它只是......它不应该做它应该做的事情。 我的数据库中有三个表:
users(
id_user primary key,
username unique varchar,
pwd unique varchar,
and more...
)
permissions(
id_permission INTEGER PRIMARY KEY,
permission-name varchar,
and more...
)
permissions_users
(
id_permission,
id_user
它们是引用前两个表的相同字段的外键
)
我希望此代码段会检查是否选中了与“permission-name”字段名称相同的复选框;如果是这样,脚本应该在第3个表中插入从表权限和用户检索到的id_user和id_permission。 但即使检查了一些复选框,它也不会附加!
啊,我使用的是php 5.3.6,PDO和SQLite 3.7.4。 php代码如下......
<?php
$res_perm = $db->query(
"SELECT permission-name FROM permissions"
);
while($result_perm=$res_perm->fetch()) {
if(isset($_POST[$result_perm["permission-name"]])) $db->exec(
"INSERT INTO permissions_users SELECT permissions.id_permission, users.id_user FROM permissions, users WHERE permissions.permission-name = '".$result_perm["permission-name"]."' OR users.nickname = '$ob_nickname'"
) OR die(print_r($db->errorInfo()));
}
?>
答案 0 :(得分:0)
我对SQLLite没有太多工作,但我认为问题出在permission-name
字段(它有一个破折号(减号),我很确定你必须逃避它(在mysql中我会使用反引号)