2011-07-28 15 views
0

私のウェブサイトを作成する予定です。しかし、これを行うには、私はCMSを書く必要があります... 私はすでに仕事のほとんどを行っていますが、今はこのコードを実行するのに苦労しています。それはどんなエラーも返しませんが、単にそれが何をすべきかをしません。 私は、データベース内の3つのテーブルがあります。私はこのスニペットをすることを望んPHPとSQLite、SELECTでINSERT INTOが機能しない

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 は、彼らが前の2つのテーブル の同じフィールドを参照する外部キーです)

をフィールド "permission-name"と同じ名前のチェックボックスがオンになっているかどうかを確認します。そうであれば、スクリプトはテーブルのアクセス権とユーザーから取得したid_userとid_permissionを3番目のテーブルに挿入する必要があります。 しかし、チェックボックスがオンになっていても、追加されません!

ああ、私はPHP 5.3.6、PDOとSQLite 3.7.4を使用しています。 PHPコードは、私がSQLLiteであまり働いていないが、私は問題がpermission-nameフィールド(そこでダッシュ(マイナス)記号がある、と私はしていると信じて...以下

<?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

皆さん、答え... – Vincenzo

答えて

0

ですあなたがそれをエスケープする必要があることを確かめてください(バックテックを使用したいと思います)。

+0

皆さん、以前は皆さんのお返事に感謝しています... – Vincenzo

+0

皆さん、以前、あなたの答えに感謝しています... – Vincenzo

関連する問題