[Mysql/Php] Geen 2 queries tegelijk?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hoi,

Ik heb een heel raar probleem in php met mysql. Ik heb namelijk de volgende query:
PHP:
1
UPDATE foto_album SET rang = rang + 1 WHERE rang >= 3; INSERT INTO foto_album (`rang`,`naam`,`comment`) VALUES ('3','blaat','enzow :)');
Maar zodra ik deze uitvoer met de code
PHP:
1
2
3
4
5
        if ( mysql_query( $sql ) ) {
          $fwd_message = $msg['admin_alb_ins'];
        } else {
          $fwd_message = $msg['sql'];
        }
Retourneert php $msg['sql']; oftewel dat ie de query dus niet kon uitvoeren. Als ik dan in phpmyadmin kijk, is er ook niets gebeurt. Raar is dat als ik die query in phpmyadmin zelf uitvoer, dan krijg ik geen errors. Ik vat er echt niets van. Moet ik met meerdere mysql_query's werken of zie ik gewoon een heel dom detail over het hoofd? Ow jah $sql bevat gewoon de bovenstaande query. Enne verder voert ie de query wel goed uit als ik maar 1 van de 2 query's uitvoer

Alvast bedankt

[ Voor 44% gewijzigd door Verwijderd op 24-04-2003 21:37 ]


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
$sql_query_1 = UPDATE foto_album SET rang = rang + 1 WHERE rang >= 3;
mysql_query($sql_query_1 );


en dan voor de andere

PHP:
1
2
$sql_query_2 = INSERT INTO foto_album (`rang`,`naam`,`comment`) VALUES ('3','blaat','enzow :)');
mysql_query($sql_query_2 );


je moet er wel variabelen van maken

Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 16-09 19:01

Tux

of in die else { ... } gelijk de inhoud van mysql_error(); meesturen. Dan kan je zien wat er fout gaat.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 24 april 2003 @ 21:25:
PHP:
1
2
$sql_query_1 = UPDATE foto_album SET rang = rang + 1 WHERE rang >= 3;
mysql_query($sql_query_1 );


en dan voor de andere

PHP:
1
2
$sql_query_2 = INSERT INTO foto_album (`rang`,`naam`,`comment`) VALUES ('3','blaat','enzow :)');
mysql_query($sql_query_2 );


je moet er wel variabelen van maken
is er geen mogelijkheid dat ik ze in 1 mysql_query stop, want ik had eerst 2 variabelen namelijk en die had ik samengevoegd tot 1 variabele :)

Acties:
  • 0 Henk 'm!

Verwijderd

Volgens mij moet dat dus kunnen met "stored procedures", maar die werken pas vanaf MySQL versie 5, of gewoon in MSSQL.
Daarmee kun je meerdere dingen doen tegelijkertijd.

OF

Je maakt een functie waar je je nieuwe waarde in stopt en dan binnen die functie de twee SQL query's aan roept.

Dan hoe je hem maar 1x te maken.
BV:
PHP:
1
2
3
4
5
function 2queries($rang, $naam, $comment){
//SQL shit goed zetten en met 2x mysql_query uitvoeren
}

2queries ('3', 'erik' , 'blaat');

(ja je moet de code helemaal zelf schrijven ;)

@ tux: je zag toch waar het fout ging......

[ Voor 10% gewijzigd door Verwijderd op 24-04-2003 22:45 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 24 april 2003 @ 22:36:
Volgens mij moet dat dus kunnen met "stored procedures", maar die werken pas vanaf MySQL versie 5, of gewoon in MSSQL.
Daarmee kun je meerdere dingen doen tegelijkertijd.

OF

Je maakt een functie waar je je nieuwe waarde in stopt en dan binnen die functie de twee SQL query's aan roept.

Dan hoe je hem maar 1x te maken.
BV:
PHP:
1
2
3
4
5
function 2queries($rang, $naam, $comment){
//SQL shit goed zetten en met 2x mysql_query uitvoeren
}

2queries ('3', 'erik' , 'blaat');

(ja je moet de code helemaal zelf schrijven ;)

@ tux: je zag toch waar het fout ging......
maar ik wil 2 totaal verschillende queries uitvoeren die in principe los van elkaar staan...

Acties:
  • 0 Henk 'm!

Verwijderd

mysql_query() kan bij mijn weten maar één query tegelijk uitvoeren.

In de user notes op php.net lees je wel:
it seems php's mysql_query does handle multiple queries at the same time, but only returns a boolean value even if the last request is a select...
Maar de kerel geeft dan een oplossing met explode(';',$queries);
Dus doe het gewoon met 2 keer mysql_query()

Acties:
  • 0 Henk 'm!

  • MichelVH
  • Registratie: Oktober 2001
  • Laatst online: 16-09 20:54
phpMyAdmin splitst intern je query op in losse stukken. Ik heb hetzelfde probleem ook gehad (werkte niet in mijn script, wel in phpMyAdmin) en na het opsplitsen in losse queries was het probleem opgelost :)

Don't be afraid of the dark, be afraid of what it hides


Acties:
  • 0 Henk 'm!

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 17-09 07:55

thomaske

» » » » » »

TheDark schreef op 25 April 2003 @ 08:51:
werkte niet in mijn script, wel in phpMyAdmin
Dat komt omdat phpMyAdmin ze zelf al uit elkaar haalt, en apart uitvoert :)

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Acties:
  • 0 Henk 'm!

  • MichelVH
  • Registratie: Oktober 2001
  • Laatst online: 16-09 20:54
TheDark schreef op 25 April 2003 @ 08:51:
phpMyAdmin splitst intern je query op in losse stukken.
Wat ik dus zelf ook al zei... :)

On-topic: als je het echt een probleem vindt, kan je gebruik gaan maken van een databaseklasse (of gewoon losse functies natuurlijk) die ook intern de queries splitst. Voor inspriatie kan je kijken in de /libraries/sqlparser.lib.php en /libraries/sqlparser.data.php in phpMyAdmin

Don't be afraid of the dark, be afraid of what it hides


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
TheDark schreef op 25 april 2003 @ 08:51:
phpMyAdmin splitst intern je query op in losse stukken. Ik heb hetzelfde probleem ook gehad (werkte niet in mijn script, wel in phpMyAdmin) en na het opsplitsen in losse queries was het probleem opgelost :)
ow zo zit t dus :). Mja dan zal ik maar moeten leven met 2 queries. Hoewel 1 query me handiger zou uitkomen, maar met 2 kan ik ook wel leven :).

Dan lijkt me mijn probleem opgelost.
Pagina: 1