Ik wil query's zoals deze kunnen uit voeren:
Maar dan krijg ik:
Ik draai:
- Fedora Core 7
- PHP 5.2.4
- Apache/2.2.6
- Server MySQL 5.0.45-community
- Client MySQL 5.0.45
Ik maak connectie met:
Zodra ik de query draai in phpMyAdmin(2.11.1) werkt hij prima.
php.ini:
Heb lopen zoeken(+5 uur
) naar mensen met het zelfde probleem maar op zowiezo op google/GoT kom ik
geen resultaten tegen met een oplossing (laat staan mensen die het zelfde probleem hebben).
Mocht iemand weten hoe ik bovenstaande query kan uitvoeren in php of
van de 2 statements 1 query maak?
ff wat info over de tabel:
(echte tabel is 'groter')
col `order` wordt gebruikt om de volgorde te wijzigen bij de weergaven van de listItem's
Bij het verwijderen van 1 of medere regels moeten de gaten 'gevuld' worden,
dus nieuwe waardes in de order col gestopt worden maar wel in de originele volgorde.
ow en de server is alleen intern bereikbaar en draait geen andere sites
code:
1
2
3
4
5
6
| $query = " SET @int := 0; UPDATE `listItem` SET `order` = (SELECT @int:=@int+1) WHERE `listID` = '1' ORDER BY `order` ASC; " $result = mysql_db_query($sql_db, $query); |
Maar dan krijg ik:
code:
1
| You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '; UPDATE `art_productListItem` SET `order` = (SELECT @int:=@int+1) WHERE `produc' at line 1 |
Ik draai:
- Fedora Core 7
- PHP 5.2.4
- Apache/2.2.6
- Server MySQL 5.0.45-community
- Client MySQL 5.0.45
Ik maak connectie met:
code:
1
| $db = mysql_connect('localhost','user','password', false, CLIENT_MULTI_STATEMENTS ); |
Zodra ik de query draai in phpMyAdmin(2.11.1) werkt hij prima.
php.ini:
code:
1
| sql.safe_mode = Off |
Heb lopen zoeken(+5 uur
geen resultaten tegen met een oplossing (laat staan mensen die het zelfde probleem hebben).
Mocht iemand weten hoe ik bovenstaande query kan uitvoeren in php of
van de 2 statements 1 query maak?
ff wat info over de tabel:
(echte tabel is 'groter')
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
| CREATE TABLE IF NOT EXISTS `listItem` ( `listItemID` int(10) NOT NULL auto_increment, `lListID` int(10) default NULL, `amount` float default NULL, `unit` mediumint(5) default NULL, `order` smallint(5) default NULL, PRIMARY KEY (`listItemID`), KEY `productListID` (`listID`), KEY `order` (`order`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=24 ; -- -- Gegevens worden uitgevoerd voor tabel `art_productListItem` -- INSERT INTO `listItem` (`listItemID`, `listID`, `amount`, `unit`, `order`) VALUES (1, 1, 2, NULL, 3), (2, 1, 1, NULL, 4), (3, 1, 5, NULL, 1), (4, 1, 3, NULL, 2), (22, 1, 2, NULL, 6), (23, 1, 5, NULL, 5); |
col `order` wordt gebruikt om de volgorde te wijzigen bij de weergaven van de listItem's
Bij het verwijderen van 1 of medere regels moeten de gaten 'gevuld' worden,
dus nieuwe waardes in de order col gestopt worden maar wel in de originele volgorde.
ow en de server is alleen intern bereikbaar en draait geen andere sites