2011-09-20 5 views
0

mysql_real_querymysql_query의 차이점은 무엇입니까? 빠른 Google 검색을 만들었지 만 둘 사이의 차이점을 보여주는 링크를 찾을 수 없습니다.mysql_real_query 대 mysql_query

+0

mysql_real_query도 존재합니까? –

+0

@ 존 없음 ...하지 않습니다 – genesis

+1

@ 존 : PHP는 모르지만 libmysqlclient에 존재합니다. –

답변

11

인 mysql_real_query()를 참조하십시오. 그러나 mysqli_real_query()가 존재한다. 공식 MySQL의 설명서 (는 C API)에 따르면

: http://dev.mysql.com/doc/refman/5.0/en/mysql-real-query.html

는 mysql_query()는 이진 데이터를 포함하는 문에 사용할 수 없습니다; 대신에 mysql_real_query()를 사용해야한다. mysql_query()는 mysql_query()가 mysql_query()보다 빠릅니다. 왜냐하면 mysql_query()는 명령문 문자열에 strlen()을 호출하지 않기 때문에 mysql_query .

INSERT INTO table (col1, col2) VALUES (1, 1), (2,2), (3,3) 

등등 : 두 번째 문제, 여러 레코드를 삽입하는 가장 좋은 방법에 대해

여러 값을 가진 INSERT 쿼리를 만드는 것입니다. 이렇게하면 1 개의 작업에 모든 새 행이 삽입되므로 3 개의 쿼리를 실행하는 것보다 더 빠릅니다 (각 행마다 하나씩).

추 신 : MySQLi (i를 기록해 두십시오) 또는 PDO와 같이 준비된 문을 지원하는 확장을 사용하는 것이 좋습니다. 준비된 구문이 더 안전 할뿐만 아니라 (올바르게 사용하면 SQL 주입에 대해 100 % 안전합니다.) 또한이 페이지의 예에서 볼 수있는 것과 같은 것을 할 수 있습니다 : http://fr2.php.net/manual/en/pdo.prepare.php (INSERT 물론 물론). 아, PDO도 객체 지향적입니다. :)

+0

많은 행을 삽입하는 데 사용할 수있는 준비된 문 사용을 제안하고 실제로 효율적입니다 (모든 쿼리를 트랜잭션에 포함하면 더 빠릅니다). PDO는 다른 많은 것들보다 좋습니다. – Qualcuno

3

을 없다. 하나는 C 스타일 문자열을 사용하고 다른 하나는 NUL 바이트를 허용하는 버퍼 및 길이 속성을 사용합니다. PHP는 내부적으로 mysql_real_query을 사용합니다.

+0

마지막 문장에서 "PHP는 내부적으로 libmysql의 C 버전 인'mysql_real_query'를 사용합니까? – Pacerier

0
Insert into table1 (a,b,c) VALUES (1,2,3),(1,2,4),(3,4,5) 

이 열 A, B 및 C (디폴트 값이 있거나 null이 될 수있는 가능성이 다른 사람을)해야한다 표에서 세 개의 새로운 행을 추가합니다.

는 PHP에 존재하지 않는 https://dev.mysql.com/doc/refman/5.5/en/insert.html

+0

누군가 내가 왜 평가를 받았는지 말해 줄 수 있습니까? 처음 게시 할 때 두 번째 질문에 대답했습니다. –

관련 문제