2014-01-17 2 views
1

PHP를 사용하여 MAMP에서 만든 데이터베이스에 테이블을 추가하려고합니다.PHP "데이터베이스를 연결할 수 없습니다"MAMP

여기이 답변을 살펴 보았다 : 나는 또한 서버에서이 코드를 사용하여 시도했다
Cannot connect to mysql server with MAMP nor with Community Server
Connect to MySQL in MAMP

이 무료 호스팅 사이트했다. biz.nf. 거기에 아무 연결 오류가 발생하지만 테이블이 만들어지지 않습니다.

정말 여기에 난처한 조언을 주셔서 감사합니다.

<?php 

$con = mysql_connect("localhost:3306", "paul", "paul"); 
mysql_select_db("magusblog", $con); 

$table = "ENTRIES"; 
mysql_query("CREATE TABLE IF NOT EXISTS '$table' ('ID' INT NOT NULL AUTO_INCREMENT , PRIMARY KEY ('ID'))"); 
mysql_query("ALTER TABLE '$table' ADD 'PHOTO' TEXT NOT NULL"); 
mysql_query("ALTER TABLE '$table' ADD 'TITLE' TEXT NOT NULL"); 
mysql_query("ALTER TABLE '$table' ADD 'DATE' TEXT NOT NULL"); 
mysql_query("ALTER TABLE '$table' ADD 'CONTENT' TEXT NOT NULL"); 

?> 
+1

새로운 프로젝트 인 경우, 더 이상 사용되지 않는 mysql_ * 함수를 사용하지 마십시오. [mysqli] (http://us2.php.net/manual/en/class.mysqli.php) 또는 [PDO] (http://us2.php.net/manual/en/book.pdo)를 사용해야합니다. PHP) 대신. –

+0

@PatrickQ - mysqli를 의미하지 않습니까? - 그리고 그는 맞습니다 - 대신 mysqli를 사용하십시오 - PDO는 약간 어렵지만 더 휴대 가능합니다 - idiorm, propel 또는 doctrine과 같은 ORM을 조사하고 싶을 수도 있습니다. –

+1

@ rm-vanda 그래. 오식. 편집 됨. –

답변

0

모든 검색어에 구문 오류가 있습니다. NOT' 따옴표를 사용하여 필드 이름을 구분합니다. 당신이 오류가 발생하는 있다면 실제로 점검하기 방해했다면, 당신은이에 대한 정보를 한 것 :

CREATE TABLE IF NOT EXISTS '$table' ('ID' INT NOT NULL AUTO_INCREMENT , PRIMARY KEY ('ID')) 
          ^-- ^-- ^--^---           ^--^- 

삭제 표시된 따옴표의 ALL을, 당신의 모든 쿼리에. 그리고 다음과 같이 다시 작성하십시오 :

$result = mysql_query(...) or die(mysql_error()); 
+0

문법 오류를 수정 해 주셔서 고맙습니다. 이제는 다시 백틱을 실수로 잘못 쓰지 않을 것입니다. 팁이나 mysql_error()뿐만 아니라 죽어 주셔서 감사합니다. 나는 그들이 파이어 폭스 웹 콘솔에 나타날 것이라고 생각했다. –

0

단지 몇 가지 구문 문제가 있습니다. 아래를 참조하십시오. 테스트를 거쳐 성공적으로 테이블을 생성했습니다. 문제가 있으면 알려주세요.

<?php 

$table = "ENTRIES"; 
mysql_query("CREATE TABLE IF NOT EXISTS " . $table . " (ID INT NOT NULL AUTO_INCREMENT , PRIMARY KEY (ID))"); 
mysql_query("ALTER TABLE " . $table . " ADD PHOTO TEXT NOT NULL"); 
mysql_query("ALTER TABLE " . $table . " ADD TITLE TEXT NOT NULL"); 
mysql_query("ALTER TABLE " . $table . " ADD DATE TEXT NOT NULL"); 
mysql_query("ALTER TABLE " . $table . " ADD CONTENT TEXT NOT NULL"); 
?> 
관련 문제