Intereting Posts

Транзакции и PHP

Я пытаюсь сделать такие функции, чтобы убедиться, что при щелчке все значения сохраняются в нескольких таблицах базы данных успешно. Я прочитал статью об этом, и он говорит:

«В PHP таких методов нет, и мы должны использовать прямой SQL. (В PHP PDO есть такие методы.)»

Пожалуйста, дайте мне знать, возможно ли внедрить транзакцию и завершить транзакцию в sql-запросе только потому, что я никогда не работал над PDO, и единственная идея, которую я имею, заключается в том, чтобы сделать множественную вставку в таблицы в одном SQL-запросе.

Приблизительное представление

<?php $sql = " Begin Transaction insert into ............. insert into ........... End Transaction " mysql_query($sql) ?> 

Решение, которое я нашел:

 mysql_select_db($database_dany, $dany); if (mysql_query('BEGIN')) { if ( mysql_query($query1) && mysql_query($query2) && mysql_query($query3) && mysql_query($insertSQL) ) $result = mysql_query('COMMIT'); // both queries looked OK, save else { mysql_query('ROLLBACK'); // problems with queries, no changes echo "There are some problemo!!!"; } 

Это зависит от используемого вами db. Страница документации mysql по теме: http://dev.mysql.com/doc/refman/5.5/en/commit.html

  START TRANSACTION; SELECT @A:=SUM(salary) FROM table1 WHERE type=1; UPDATE table2 SET summary=@A WHERE type=1; COMMIT; 

Вы можете вставить несколько строк, используя следующий синтаксис:

 INSERT ALL INTO mytable (column1, column2, column3) VALUES ('val1.1', 'val1.2', 'val1.3') INTO mytable (column1, column2, column3) VALUES ('val2.1', 'val2.2', 'val2.3') INTO mytable (column1, column2, column3) VALUES ('val3.1', 'val3.2', 'val3.3') SELECT * FROM dual; 

Если вы хотите получить дополнительную информацию об этом, пожалуйста, проверьте эту ссылку http://www.techonthenet.com/oracle/questions/insert_rows.php