2010-01-01 5 views
4

다음과 같이하려고합니다.하나의 mysql_query에 두 개의 쿼리를 넣을 수 있습니까?

mysql_query(" 
    UPDATE name SET money = money + 1; 
    UPDATE surname SET money = money + 1; 
"); 

하지만 작동하지 않습니다.

그냥 예입니다,하지만 제 질문은 : 어떻게 하나 이상의 mysql_query에 두 개 이상의 쿼리를 넣을 수 있습니까?

+0

"무엇이든지"란 무엇을 의미 하는가? –

답변

12

http://docs.php.net/mysql_query는 말한다 :

는 mysql_query()는 지정된 link_identifier를와 연관된 서버에서 현재 활성화 된 데이터베이스에 고유 한 쿼리를 ( 여러 쿼리가 지원되지 않습니다) 보냅니다.

하지만 당신은 mysqli::multi_query에 관심이있을 수 있습니다

은 세미콜론 (;)으로 연결된 하나 개 또는 여러 개의 쿼리를 실행합니다.
4

원자 적 방식으로 발생해야하는 쿼리에는 트랜잭션을 사용해야합니다.

0

이것은 특히 mysqli_multi_query()와 같은 MySQLi 인터페이스를 사용하여 수행 할 수 있습니다. http://ca3.php.net/manual/en/mysqli.multi-query.php

SQL 삽입 공격이 더 큰 영향을 줄 수 있으므로이 기능을 사용할 때는 이탈시주의해야합니다.

+0

mysql_multi_query()는 mysql * i * _multi_query()이어야한다. 그렇지 않습니까? –

+0

예, 감사합니다. 나는 적어도 링크를 가지고있다. – preinheimer

-3

또는 아마도 당신이 시도 할 수 ...

$query1 ="UPDATE name SET money = money + 1;"; 
$query2 ="UPDATE surname SET money = money + 1"; 

mysql_query($query1,$query2) or die(mysql_error()); 
+0

이것은 작동하지 않을 것이다. mysql_query의 두 번째 매개 변수는'string'이 아닌'resource'입니다. – MrLore

관련 문제