{"id":25101,"date":"2026-03-19T14:15:17","date_gmt":"2026-03-19T13:15:17","guid":{"rendered":"https:\/\/www.oderland.se\/support\/?post_type=ht_kb&#038;p=25101"},"modified":"2026-03-19T14:15:17","modified_gmt":"2026-03-19T13:15:17","slug":"hur-testar-jag-strict-mode-for-mariadb","status":"publish","type":"ht_kb","link":"https:\/\/www.oderland.se\/support\/artikel\/hur-testar-jag-strict-mode-for-mariadb\/","title":{"rendered":"Hur testar jag Strict Mode f\u00f6r MariaDB?"},"content":{"rendered":"\n<p>Strict Mode f\u00f6r MariaDB (och MySQL) s\u00e4tter vissa begr\u00e4nsningar p\u00e5 vilka databasfr\u00e5gor\/queries som kan k\u00f6ras och vilken data som kan lagras. K\u00f6r du ett system som \u00e4r egenutvecklat kan det uppst\u00e5 problem att k\u00f6ra dem p\u00e5 v\u00e5ra servrar om du utvecklat mot en plattform d\u00e4r Strict Mode \u00e4r avst\u00e4ngt.<\/p>\n\n\n\n<p>Strict Mode \u00e4r standardinst\u00e4llningen i MariaDB sedan version 10.2.4 och inneb\u00e4r att MariaDB blir striktare i hur den hanterar data. Ist\u00e4llet f\u00f6r att tyst justera eller trunkera felaktiga v\u00e4rden returneras ett fel. Genom att ha det aktivt p\u00e5 samtliga servrar f\u00f6rb\u00e4ttrar vi dataintegritet, anpassar oss till en vedertagen standard och s\u00e4kerst\u00e4ller en enhetlig milj\u00f6 p\u00e5 alla v\u00e5ra webbhotellservrar. F\u00f6ljande \u00e4r exempel p\u00e5 vad som kan p\u00e5verkas:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Ogiltiga datum:<\/strong> Datum som <code>0000-00-00<\/code> eller datum med <code>00<\/code> i m\u00e5nad eller dag accepteras inte l\u00e4ngre. <\/li>\n\n\n\n<li><strong>F\u00f6r l\u00e5nga str\u00e4ngar:<\/strong> Str\u00e4ngar som \u00e4r l\u00e4ngre \u00e4n kolumnen till\u00e5ter ger ett fel ist\u00e4llet f\u00f6r att trunkeras. <\/li>\n\n\n\n<li><strong>Out-of-range-v\u00e4rden:<\/strong> T.ex. ett tal utanf\u00f6r kolumnens till\u00e5tna intervall ger ett fel ist\u00e4llet f\u00f6r att justeras.<\/li>\n<\/ol>\n\n\n\n<p>De flesta moderna applikationer p\u00e5verkas inte. D\u00e4remot kan \u00e4ldre, egenutvecklade eller felkonfigurerade applikationer sluta fungera korrekt \u2013 typiskt s\u00e5dana som byggdes innan Strict Mode blev standard f\u00f6r ungef\u00e4r tio \u00e5r sedan.<\/p>\n\n\n\n<p>Den h\u00e4r guiden ger ett exempel p\u00e5 hur du kan testa om din kod fungerar. F\u00f6r att g\u00f6ra det, l\u00e4gg in f\u00f6ljande i din PHP-kod d\u00e4r databasuppkopplingen g\u00f6rs (du kan beh\u00f6va anpassa koden efter din egen applikations kod):<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">mysqli_query(<br>    $this->dbh,<br>    \"SET SESSION sql_mode = '<br>        STRICT_TRANS_TABLES,<br>        NO_ZERO_IN_DATE,<br>        NO_ZERO_DATE,<br>        ERROR_FOR_DIVISION_BY_ZERO,<br>        NO_AUTO_CREATE_USER,<br>        NO_ENGINE_SUBSTITUTION<br>    '\"<br>);<\/pre>\n\n\n\n<p>Fungerar allt som f\u00f6rv\u00e4ntat \u00e4r din kod kompatibel med Strict Mode. Om du f\u00e5r felmeddlanden och andra problem har du tv\u00e5 v\u00e4gar att g\u00e5:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Korrigera koden s\u00e5 den f\u00f6ljer de standarder som s\u00e4tts enligt Strict Mode, eller;<\/li>\n\n\n\n<li>L\u00e4gg in f\u00f6ljande i b\u00f6rjan av din PHP-kod som kommuncerar med databasen (eller n\u00e5got liknande, baserat p\u00e5 hur din PHP-kod ser ut):<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">mysqli_query( $this->dbh, \"SET SESSION sql_mode=''\");<\/pre>\n\n\n\n<p class=\"wp-block-ht-blocks-messages wp-block-hb-message wp-block-hb-message--withicon is-style-danger\">Observera att alternativ 2 ovan enbart b\u00f6r anv\u00e4ndas i undantagsfall eller akutsituationer. Det \u00e4r aldrig en l\u00e5ngsiktig l\u00f6sning att inte r\u00e4tta sig efter Strict Mode.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Strict Mode f\u00f6r MariaDB (och MySQL) s\u00e4tter vissa begr\u00e4nsningar p\u00e5 vilka databasfr\u00e5gor\/queries som kan k\u00f6ras och vilken data som kan lagras. K\u00f6r du ett system som \u00e4r egenutvecklat kan det uppst\u00e5 problem att k\u00f6ra dem p\u00e5 v\u00e5ra servrar om du utvecklat mot en plattform d\u00e4r Strict Mode \u00e4r avst\u00e4ngt. Strict&#8230;<\/p>\n","protected":false},"author":12,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"ht-kb-category":[4],"ht-kb-tag":[],"class_list":["post-25101","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-databaser"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/25101","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/comments?post=25101"}],"version-history":[{"count":12,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/25101\/revisions"}],"predecessor-version":[{"id":25116,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb\/25101\/revisions\/25116"}],"wp:attachment":[{"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/media?parent=25101"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb-category?post=25101"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/www.oderland.se\/support\/wp-json\/wp\/v2\/ht-kb-tag?post=25101"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}