Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] - 2 zapytania na raz
Forum PHP.pl > Forum > PHP
115750
Czy można w PHP i MySQL 2 zapytania wykonać korzystając tylko 1 raz z funkcji mysql_query()?
Próbowałem poniższego kodu ale MySQL zwraca błąd:

  1. <?php
  2. $query = "UPDATE tab1 SET kol1=1 WHERE id=5; UPDATE tab1 SET kol1=2 WHERE id=10;";
  3.  
  4. mysql_query($query);
  5. ?>
nospor
mysql_query() pozwala na wykonanie tylko jednego zapytania
115750
Cytat(nospor @ 21.06.2007, 14:16:47 ) *
mysql_query() pozwala na wykonanie tylko jednego zapytania

A można jakoś to ominąć (np. inna funkcja)?
W PHPMyAdmin można wykonać wiele zapytań ale tam to pewnie jakoś te zapytanie jest odpowiednio parsowane.
nospor
Cytat
A można jakoś to ominąć
Można:
  1. <?php
  2. $query = 'UPDATE tab1 SET kol1=1 WHERE id=5;';
  3. mysql_query($query);
  4. $query = 'UPDATE tab1 SET kol1=2 WHERE id=10;';
  5. mysql_query($query);
  6. ?>

smile.gif
SongoQ
Tak sa parsowane po sredniku i rozbijane na wiele zapytan.
115750
Cytat(nospor @ 21.06.2007, 14:29:53 ) *
Można:
  1. <?php
  2. $query = 'UPDATE tab1 SET kol1=1 WHERE id=5;';
  3. mysql_query($query);
  4. $query = 'UPDATE tab1 SET kol1=2 WHERE id=10;';
  5. mysql_query($query);
  6. ?>

smile.gif

Tak wiem, że można ale myślałem, że da się radę to jakość oszczędniej zrobić.
Dzięki.
UDAT
Cytat(115750 @ 21.06.2007, 14:14:14 ) *
  1. <?php
  2. $query = "UPDATE tab1 SET kol1=1 WHERE id=5; UPDATE tab1 SET kol1=2 WHERE id=10;";
  3.  
  4. mysql_query($query);
  5. ?>


To da się zrobić w jednym
  1. UPDATE tab1 SET kol1=(id/5) WHERE id IN ( 5, 10 );

a tak ogólniej to chyba się jednak da ( pod warunkiem że ID jest UNIQUE ):
  1. INSERT INTO t ( id, kol1 )
  2. VALUES ( 5, 1 ),
  3. ( 10, 2 ) ,
  4. ( 20, 21 ) ,
  5. ( 30, 215 ) ,
  6. ( 40, 662 )
  7. ON DUPLICATE KEY
  8. UPDATE
  9. kol1=VALUES(kol1);
Vexator
użyj UNION
em1X
Cytat(Vexator @ 13.02.2008, 20:27:51 ) *
użyj UNION


a Ty lepiej poczytaj temat dokładnie smile.gif albo doczytaj do czego służy union.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.