저는 PHP와 sqlite를 사용하여 간단한 투표 시스템을 만들고 있습니다. 나는 전체 시나리오를 미리 빌드하고 sqlite 커맨드 라인에서 테스트했다. 더 이상 작동하지 않습니다, 설문 조사의 모든 가능한 답변과 투표 사용자를 반환해야합니다 그러나 하나의 쿼리, ...PHP에서 SQLite 하위 쿼리가 작동하지 않습니다.
테이블 :
CREATE TABLE polls (
question CHAR(200)
);
CREATE TABLE choices (
poll_id INTEGER(5),
choice_text CHAR(200)
);
CREATE TABLE votes (
poll_id INTEGER(5),
user_id INTEGER(5),
choice_id INTEGER(5),
PRIMARY KEY (poll_id, user_id)
);
CREATE TABLE users (
name CHAR(100),
pass CHAR(100),
session CHAR(100)
);
PHP :
$query = "SELECT choices.rowid,choices.choice_text,
(SELECT users.name FROM users WHERE votes.user_id=users.rowid) AS name
FROM choices,polls LEFT OUTER JOIN votes ON choices.rowid = votes.choice_id
WHERE polls.rowid=choices.poll_id AND polls.rowid='$pollid'";
$result = $db->arrayQuery($query, SQLITE_ASSOC);
echo json_encode($result);
이 반환
Warning: SQLiteDatabase::arrayQuery() [sqlitedatabase.arrayquery]: no such column: votes.user_id in C:\Users\jan\Eigene Programme\xampplite\htdocs\cattle\vote\update.php on line 122
false
내가
(SELECT users.name FROM users,votes WHERE votes.user_id=users.rowid) AS name
이 작동에 하위 쿼리를 변경 한 시도했지만 같은 결과를 반환하지 않습니다 가장 먼저하는 일 : 내가 전문 아니에요 이후, 즉 쿼리와 매우 긴 만지작/ 을, 그래서 거기에 더 나은 쿼리가있을 것 같아요?
감사합니다. (내 시도가 "전문적인"솔루션에서 너무 추악하다는 것을 믿을 수 없다 :)) – Jan