Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Bliskie połączenie MYSQL nie może zatrzymać aktywności wstawiania!

Ponieważ PHP nie pozwala na współdzielenie zasobów między żądaniami (AFAIK), istnieje kilka sposobów na osiągnięcie tej możliwości zatrzymania procesu w innym żądaniu:

najpierw dodaj tę linię:

if ( isset ($_POST['start']) ) {
    $_SESSION['continue'] = true;

a następnie zamień wyrażenie for na while (Wygląda na to, że nie zależy Ci na liczbie powtórzeń, jeśli tak, możesz zmienić to zachowanie):

for ($i = 1; $i <= 99999999999; $i++) {

zastąp:

while ( $_SESSION['continue'] )

i zamiast zamykać połączenie, aby zatrzymać wstawianie, zrób to:

mysql_close ($con)

zmieni się na:

$_SESSION['continue'] = false;

UWAGA:Nie zapomnij wywołać session_start() na początku skryptu. To wszystko.

Założyłem, że chcesz zatrzymać stronę z tej samej sesji, jeśli tak nie jest, możesz zamiast tego użyć ACP lub SHM. na przykład:

zastąpić:

$_SESSION['continue'] = true

z:

apc_store( 'continue', true );

i

while ( $_SESSION['continue'] )

z:

while ( acp_fetch ('continue') )

i

$_SESSION['continue'] = false;

z:

apc_store( 'continue', false );

Gotowe!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dlaczego zapytanie nie zostało zaktualizowane po kliknięciu przycisku aktualizacji?

  2. pyodbc nie radzi sobie poprawnie z danymi Unicode

  3. Błąd PID na starcie mysql.server?

  4. automatycznie aktualizuje pole mysql na podstawie wartości innego pola

  5. Date zwraca wartości null po przesłaniu formularza edycji w php