Gå til innhold

en snedig sak med mysql_query()


Anbefalte innlegg

/* PHP4:: */

 

 

Jeg driver og oppdaterer en database gjennom php. Nå har jeg kommet borti et merkerlig problem, Når jeg bruker flere queries i samme mysql_query, får jeg en error. Hvorfor det?

 

virker uten problemer:

Ex::

 


mysql_query("INSERT INTO `sometable` VALUES('en', 'to')");

 

Gir en error:

mysql_query("INSERT INTO `sometable` VALUES('en', 'to'); INSERT INTO `someothertable` VALUES('en', 'to')");

Lenke til kommentar
Videoannonse
Annonse

Det er noe med mysql_query() som har irritert meg mest. F.eks. når man mekker et installscript som skal fylle en database med tabeller, må jeg kjøre 20-30 spørringer (_og_ kall til mysql_query()) istedenfor å bare kjøre alt gjennom ett funksjonskall.

 

Det eneste jeg fant i manualen om dette var følgende lille notis:

Note: The query string should not end with a semicolon.

 

...som ikke nødvendigvis betyr en maksgrense på en spørring per funksjonskall.

Lenke til kommentar

Jeg har løst det ved å gjøre noe som dette:

       <?php
 $query = explode(';', $query);


 foreach($query as $q) {


 mysql_query($q);

                }
?>	

Men da vil jo en streng som "INSERT INTO `SometimesIHatePhp` VALUES(';', 'noe'); INSERT INTO `anothertable` VALUES('something')"; bli feil pga av at det skjer en split her --> VALUES('; , foruten å bruke en skikkelig unik streng istedet for semikolon, hvordan skal man løse dette?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...