2013-07-22 2 views
-1

나는 이해할 수없는 작은 문제가 있습니다. 쿼리 결과가 기존 테이블에 쓰여졌 으면합니다.선택 항목에서 삽입

$ query = "SELECT * FROM actions WHERE 1 = 1";/ 
w_cliente $ = ""; 
if ($ customer! = "") {$ w_cliente = "AND customer LIKE '%". $ client. "%'";} 
w_cognome $ = ""; 
if ($ name! = "") {$ w_cognome = "AND name LIKE '%". $ name. "%'";} 
w_nome $ = ""; 
if ($ name! = "") {$ w_nome = "AND name LIKE '%". $ name. "%'";} 
$ query. = $ w_tipologia. $ w_cognome. $ w_nome. "ORDER BY id"; 
$ res = mysql_query ($ query) or die ('Error: Something went wrong'); 
$ exists = mysql_num_rows ($ res); 

이 쿼리는 조회 테이블을 "인쇄"할 수 있습니다.

$ query = "INSERT INTO time SELECT * FROM actions WHERE 1 = 1";/ 
w_cliente $ = ""; 
if ($ customer! = "") {$ w_cliente = "AND customer LIKE '%". $ client. "%'";} 
w_cognome $ = ""; 
if ($ name! = "") {$ w_cognome = "AND name LIKE '%". $ name. "%'";} 
w_nome $ = ""; 
if ($ name! = "") {$ w_nome = "AND name LIKE '%". $ name. "%'";} 
$ query. = $ w_tipologia. $ w_cognome. $ w_nome. "ORDER BY id"; 
$ res = mysql_query ($ query) or die ('Error: Something went wrong'); 
$ exists = mysql_num_rows ($ res); 

이것으로 인쇄 된 내용이 보이지 않지만 대신 테이블에 올바르게 데이터를 기록합니다. 리서치에 비디오를 표시하고 동시에 새 테이블에 데이터를 입력하려면 어떻게합니까? 감사합니다.

+0

PHP에서'$'다음에 공백을 넣지 마십시오. 작동하지만 아무도 그런 코드를 작성하지 않습니다. '$'는 변수 이름의 일부로 간주됩니다. – Barmar

+0

'w_cliente $ = ""; '와 같은 줄은 전혀 유효하지 않습니다. 코드가 구문 분석 오류가 발생하여 실행 중이 아니어야합니다. 실행되는 코드를 게시하십시오. – Barmar

+0

'die ('Error : 뭔가 잘못되었습니다')'를'dir (mysql_error())'로 변경하여 그 이유를 확인하고 게시물에 오류 메시지를 추가하십시오. – Barmar

답변

0

문제는 연결했을 때 조건 사이에 공백을 두지 않는다는 것입니다. $customer가 설정되어있는 경우 예를 들어, 당신은 얻을 :

WHERE 1=1AND customer LIKE %$client% 

는이 문제를 해결하기 위해 ANDORDER BY 앞에 공백을 넣습니다.

관련 문제