Я пытаюсь сделать что-то вроде этого:
mysql_query(" UPDATE name SET money = money + 1; UPDATE surname SET money = money + 1; ");
но это не сработает.
Это просто пример, но мой вопрос: как я могу разместить два или более запросов в одной mysql_query
?
http://docs.php.net/mysql_query говорит:
mysql_query () отправляет уникальный запрос ( несколько запросов не поддерживаются ) в текущую активную базу данных на сервере, связанную с указанным link_identifier.
Но вы можете быть заинтересованы в mysql i :: multi_query :
Выполняет один или несколько запросов, которые объединены точкой с запятой.
Вы должны использовать транзакции для запросов, которые должны произойти в атомном режиме, и я подозреваю, что это возможно.
Это можно сделать, используя интерфейс MySQLi, в частности mysqli_multi_query (). http://ca3.php.net/manual/en/mysqli.multi-query.php
Следует отметить, что при использовании этой функции вам нужно быть особенно осторожным, так как любая атака SQL-инъекций имеет гораздо более широкий возможный эффект.
или, может быть, вы могли бы попробовать это …
$query1 ="UPDATE name SET money = money + 1;"; $query2 ="UPDATE surname SET money = money + 1"; mysql_query($query1,$query2) or die(mysql_error());