Ik heb een heel vaag probleem. Als deze query uitgevoerd wordt, dan wordt er een 0 in de tabel gezet, ipv de string die in de query staat. De query staat als volgt in de PHP file:
Dat kan dan een query opleveren die er als volgt uit ziet:
Het probleem zit in het bedrijven_leveren stuk. Als ik dat weghaal, dan gaat alles goed. Ik denk dat ik een bepaald teken moet escapen, maar ik weet niet welk. Ik heb alles al geprobeerd (:, ;, { en } ), maar nix hielp. Het bedrijven_leveren gedeelte wordt helemaal niet uitgevoerd.
Ik krijg geen error terug van MySQL. Ik heb hem ook uitgevoerd in de MySQL dosprompt en dit is het resultaat daarvan:
Als ik de SELECT query niet doe, dan is dit het resultaat:
Dus MySQL vind dus wel een rij, maar hij past hem gewoon niet aan.
Kan iemand mij uitleggen wat er hier fout gaat?
De kolom productnaam is een varchar met de lengte van 255.
Je kan de source van de complete file vinden op http://www.cybertinus.nl/...heer_bewerk_producten.php
De query staat op regel 182, wat vrij ver onderaan is.
PHP:
1
2
3
4
5
6
7
8
| <?php $qUpdate_product = 'UPDATE '.$aConfig['tabel']['product'].' SET productnaam=\''.$_POST['productnaam'].'\' AND bedrijven_leveren=\''.$sBedrijven_leveren.'\' WHERE pid='.$_GET['pid']; ?> |
Dat kan dan een query opleveren die er als volgt uit ziet:
code:
1
2
3
4
5
6
7
| UPDATE
producten
SET
productnaam='televisie'
AND bedrijven_leveren='a:3:{i:0;i:1:1;i:1;i:1:3;i:2;i:1:5;}'
WHERE
pid=1 |
Het probleem zit in het bedrijven_leveren stuk. Als ik dat weghaal, dan gaat alles goed. Ik denk dat ik een bepaald teken moet escapen, maar ik weet niet welk. Ik heb alles al geprobeerd (:, ;, { en } ), maar nix hielp. Het bedrijven_leveren gedeelte wordt helemaal niet uitgevoerd.
Ik krijg geen error terug van MySQL. Ik heb hem ook uitgevoerd in de MySQL dosprompt en dit is het resultaat daarvan:
code:
1
2
3
4
5
6
7
8
9
10
11
| mysql> UPDATE producten SET productnaam='televisie' AND bedrijven_leveren='a:3:{
i:0;i:1:1;i:1;i:1:3;i:2;i:1:5;}' WHERE pid=1; SELECT * FROM producten;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0
+-----+-------------+--------------------------------+
| pid | productnaam | bedrijven_leveren |
+-----+-------------+--------------------------------+
| 1 | 0 | a:3:{i:0;i:1;i:1;i:3;i:2;i:5;} |
+-----+-------------+--------------------------------+
1 row in set (0.00 sec) |
Als ik de SELECT query niet doe, dan is dit het resultaat:
code:
1
2
3
4
| mysql> UPDATE producten SET productnaam='televisie' AND bedrijven_leveren='a:3:{
i:0;i:1:1;i:1;i:1:3;i:2;i:1:5;}' WHERE pid=1;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 1 Changed: 0 Warnings: 0 |
Dus MySQL vind dus wel een rij, maar hij past hem gewoon niet aan.
Kan iemand mij uitleggen wat er hier fout gaat?
De kolom productnaam is een varchar met de lengte van 255.
Je kan de source van de complete file vinden op http://www.cybertinus.nl/...heer_bewerk_producten.php
De query staat op regel 182, wat vrij ver onderaan is.
[ Voor 7% gewijzigd door Verwijderd op 09-08-2004 15:43 ]