簡體   English   中英

PHP和SQLite,使用SELECT進行INSERT INTO不起作用

[英]PHP and SQLite, INSERT INTO with SELECT doesn't work

我正計划創建我的網站; 但是要做到這一點,我需要編寫一個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”字段名稱相同的復選框; 如果是這樣,腳本應將從表權限和用戶中檢索到的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()));
}

?>

我使用SQLLite的工作還不是很多,但是我相信問題在於permission-name字段(其中有一個破折號(減號),我很確定您必須對此進行轉義(在mysql中, d使用反引號)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM