Is het mogelijk om meerdere inserts tegelijk te doen bij 1 query?
Bijvoorbeeld dat ik 1 product toevoeg en tegelijkertijd in een andere tabel een categorie met diezelfde productnaam toevoeg?
Zou eventueel ook wel meerdere query's mogen, alleen moet het eigenlijk wel binnen 1 functie verwerkt worden.
je kunt alle querys in een variable zetten gescheiden met een ; dan voert mysql ze gewoon allemaal achterelkaar uit.
Cool bedoel je zo:

<?php
include ('verbinding.php');

$blabla = "SELECT blabla FROM blabla WHERE blablabla = '".blabla."'";"SELECT albalb FROM albalb WHERE albalbalb = '".albalb."'";
$query = mysql_query('$blabla');
?>

zoo?
Heb het zojuist geprobeerd maar volgens mij werkt dat niet?
Het gaat in mijn geval ook om een insert.

Als ik het goed begrijp zou het dan zo moeten werken?

$query = INSERT INTO products (productnaam)
VALUES (test),

INSERT INTO categorie (categorienaam)
VALUES (test)

mysql_query($query);

<?
$query = INSERT INTO products (productnaam)
VALUES (test);
INSERT INTO categorie (categorienaam)
VALUES (test)

mysql_query($query);
?>


het is een puntcomma (;)
Ja inderdaad! Foutje..

Maar het werkt nog steeds niet, eerste query voert ie wel uit, de 2de niet?
Zonder foutmelding..
De PHP-Functie mysql_query is zo gebouwd dat er maar 1 query wordt uitgevoerd, lees ook: http://nl2.php.net/mysql_query:

multiple queries are not supported


Een multiple insert op 1 tabel kan (volgens mij) op de volgende wijze:

INSERT INTO table(a,b) VALUES (1,2), (3,4), (5,6);

Wat jij wilt kun je beter met een stored procedure oplossen, die kun je pas sinds MySQL versie 5 gebruiken (of stap over op PostgreSQL, zie mijn laatste tutorial, daar zit een bijna soortgelijke case in ;))...

Meer doen met PostgreSQL, deel 2

Reageren