2011-01-09 4 views
0

HTML 페이지의 데이터를 속성을 기반으로 MySQL 데이터베이스에 추가하려면 어떻게합니까?HTML 페이지에서 MySQL DB로 데이터를 추가하는 방법

이미 데이터가 스크랩되었지만 링크를 테이블의 특정 필드로 가져오고 그 중 일부를 테이블에서 다른 필드로 가져오고 싶습니다.

저는 PHP/MySQL과 Linux를 가지고 있습니다. 컬을 사용해야합니까? 그렇다면 실제로 데이터를 MySQL DB에 어떻게 추가합니까?

+0

는에 삽입되는 이미 긁어 데이터를 데이터베이스에서 테이블을 만든 적이 있습니까? – thirtydot

+0

예. 데이터를 어떻게 삽입 할 수 있을지 알아야합니다. – Dean

+0

링크를 저장하는 방법과 데이터를 가져 오는 데 필요한 데이터 유형을 어떻게 보여줄 수 있습니까? – amosrivera

답변

1

일부 PHP의 예를 삽입 VALUES ('테스트', '테스트 2') 및 업데이트 데이터 테이블 _ INTO INSERT "와 같은 MySQL의 쿼리를 사용합니다 :

mysql_connect()와 MySQL 서버에
//*************************************** 
// Connect to database 
// 
mysql_connect('127.0.0.1','MyUserName','MyPassword',false,MYSQL_CLIENT_SSL|MYSQL_CLIENT_COMPRESS); 
mysql_select_db('MyDatabase'); 

// If you work with UTF-8 it would be a good idea to set the character set as well to be sure. 
//mysql_set_charset('utf8_general_ci'); 

//*************************************** 
// Insert new data 
// 
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/product/"); 
$Result = mysql_query("INSERT INTO ProductTable (URLField) VALUES ('".$MyURL."')"); 
if($Result) 
print mysql_affected_rows(); 

//*************************************** 
// Update existing data 
// 
$MyURL = mysql_real_escape_string("http://www.exampledomain.com/newproduct/"); 
$RecordID = 123; 
$Result = mysql_query("UPDATE ProductTable SET URLField='".$MyURL."' WHERE ID=".$RecordID); 
if($Result) 
print mysql_affected_rows(); 

연결하고 데이터베이스를 선택 mysql_select_db()를 사용합니다. 내가 영어 네이티브 아니에요 모든 특수 문자가 올 얻기 위해 UTF-8을 사용합니다. 만약 당신은이 선을 무시할 수 있습니다.

SQL 서버로 들어가는 모든 데이터는 인용 부호와 같은 제어 문자를 이스케이프 처리하는 것을 의미하는 새 니타이션되어야합니다. 변수 $ MyURL은 SQL 문에서 사용되기 전에 mysql_real_escape_string()으로 삭제됩니다.

SQL 문은 mysql_query()으로 실행되고 true 또는 false를 반환합니다 (INSERTUPDATE 문). mysql_affected_rows()을 사용하면 SQL 문에 의해 영향을받은 행 수를 볼 수 있습니다. 이는 예상대로 작동하는지 확인하는 방법입니다.

UPDATE 예는 하나의 열 및/또는 행의 데이터를 변경하는 예입니다. $ RecordID 변수는 업데이트하려는 레코드 ID입니다 (업데이트 할 레코드가 무엇인지 알아야합니다). 이 예는 단일 레코드를 찾아내는 것입니다. WHERE 절을 변경하면 전체 행을 동시에 업데이트 할 수 있습니다. 예를 들어,

UPDATE ProductTable SET URLField='".$MyURL."' WHERE URLField='http://www.exampledomain.com/oldproduct/' 

... 필드 URLField에 'http://www.exampledomain.com/oldproduct/'이있는 모든 행을 업데이트합니다. 나는 이것이 당신이 잠시 동안 가야 생각

...

+0

PHP/MySQL에 익숙하지 않습니다. 내가 HTML 파일을 구문 분석 한 다음 그 파싱 된 데이터를 MySQL 필드에 삽입 한 후 나는 스크레이퍼를 설치했고,이 스크레이퍼에서 데이터를 가져 와서 데이터베이스에 넣기 만하면됩니다. 그것은 완전히 역동적이어야합니다. 누군가 다른 쿼리를 입력 할 때마다 변경됩니다. FWIW : 지난 2 시간 동안 파서가 정상적으로 작동하기 위해 노력했지만 실패했습니다. 그것은 데이터를 구문 분석하지 않고 MySQL (SimpleXMLElement, PHP5)에 삽입합니다. 예 XHTML이 유효합니다. – Dean

+0

@Dean 레벨이 너무 낮 으면 유감입니다. 귀하의 질문을 해석하는 방법은 이미 데이터를 추출한 후 MySQL 데이터베이스에 넣는 방법 만 알고 싶다는 것입니다. 그래서 당신을 이해한다면, XHTML 파일로부터 실제로 추출하는 데 도움이 필요합니다. 당신이 찾고있는 속성은 무엇입니까? 아니면 요소를 의미합니까? SimpleXMLElement에서 실패한 것은 무엇입니까? 어쩌면 질문을 약간 업데이트해야 할 것입니다. –

+0

나는 그것을 해결했다 : http://codepad.org/SRJYFLKa. 팁을 주셔서 감사합니다 :-) – Dean

관련 문제