havde ikke lige tænkt på at update var et reserveret ord.
det burde du have gjort, du havde jo anvendt det ovenover i "UPDATE units SET...".
du ville have fået sammen problem hvis du havde anvendt æøå i kollonne eller tabel navne, der er løsningen også det sammen omdøb eller nødløsningen backtick
du valgte den rigtige løsning med at omdøbe tabellen, brug af backtick er kun en nødløsning.
hvis du feks skulle have kørt mod en MSSQL database, så skulle du have anvendt [ istedet for `
et skræk eks, dårlig navngivning af kollonne, by er reseveret ord (ORDER BY, og LIMIT er specifikt for mysql)
(utested)
$mysql ="SELECT `by` FROM tbl_postnummer WHERE postnummer = 4000 LIMIT 1";
$mssql ="SELECT [by] FROM tbl_postnummer WHERE postnummer = 4000 TOP(1)";
det er jo en af fordelene ved PDO, at du nemt kan porterer coden fra en database til en anden, uden at ændre ret meget i coden, connection stringen skal selvføgelig ændres, men heller ikke andet i teorien, så jo mindre database spesifik du laver din code, jo nemmere er det at skifte databasen.
en anden er at Prepare Statement er klart forbedret iforhold til mysqli, bla at man kan anvende named placeholds (som du anvender ((:serial, :name, :address,......) ), frem for kun numbert placeholders (?), som man kun kan i mysqli