2012-04-18 2 views
0

나는 웹 사이트에 의견을 추가하고 있는데 다음과 같이 간단한 주석 테이블을 만들 것이라고 생각했지만 작동하지 않습니다. 오타가 있어야하지만 계속해서 다른 파일로 복사하는 등의 작업을 수행 할 수는 없습니다. 또한 주석에 익숙한 사람들은 적절한 수의 필드입니까?PHP mysql 테이블에 대한 덧글

$maketable = "CREATE TABLE comments(id INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(id), 
name VARCHAR(30), 
whenadded DATETIME, 
storyid INT, 
comment TEXT, 
show TINYINT(1), 
userid INT)"; 
mysql_query($maketable); 

답변

2

'show'는 mysql의 예약어입니다. '디스플레이'또는 다른 것을 시도하십시오 :

$maketable = "CREATE TABLE comments(id INT NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(id), 
name VARCHAR(30), 
whenadded DATETIME, 
storyid INT, 
comment TEXT, 
display TINYINT(1), 
userid INT)"; 
mysql_query($maketable); 
+0

그게 전부입니다. 많은 감사합니다! – user1260310

0

PHP에서 데이터베이스 연결 풀링에 사용중인 자격 증명에는 데이터베이스에 대한 작성/삭제 권한이 없어야합니다. 데이터베이스 디자인을 수행하려면 phpmyadmin과 같은 "sql-tool"을 사용하는 것이 좋습니다.

장점 중 하나는 디버깅 목적으로 더 나은 오류 메시지입니까?

+0

연결 문자열에서 작성/삭제를 어떻게 비활성화합니까? 나는 dbase를보기 위해 사용하고있는 phpadmin을 가지고있다. – user1260310

+0

연결 문자열에서 이것을 비활성화하지 마십시오. 데이터베이스 사용자 권한을 변경해야합니다. – JohanB

0

mysql_error를 확인하셨습니까?

php.net/mysql_error

와 나는 SQL 문의 맨 아래에 PRIMARY KEY 라인을 이동합니다.

0
$maketable ="CREATE TABLE comments (
id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
name VARCHAR(30) NOT NULL, 
whenadded DATETIME, 
storyid INT(10), 
comment TEXT, 
display INT(1), 
userid INT (10) 
) ENGINE = MYISAM;" 
mysql_query($maketable); 
관련 문제