WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Mysql, skapa egen explode funktion (https://www.wn.se/forum/showthread.php?t=1058806)

Anaxa 2013-08-14 20:31

Mysql, skapa egen explode funktion
 
Hej!

Jag vill kunna splitta en kolumn med en funktion som jag har här.

Kod:

CREATE FUNCTION stringSplit(
x VARCHAR(255),
delim VARCHAR(12),
pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1), delim, '');

Men hur fasiken kan jag lägga till den i MySQL?
Vi ansluter oss till databasen genom PHP och vi måste då splitta en kolumn därifrån.

Såhär provade jag men det funkade inte.

Kod:

$database->query("
CREATE FUNCTION stringSplit(
x VARCHAR(255),
delim VARCHAR(12),
pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1), delim, '');

SELECT stringSplit(xp.data, ' ', 1) AS key FROM ws_1o5_hns_xp xp JOIN table2 ON table2.id = key WHERE xp.certain_id = 2

");

Fick detta.
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 'key FROM ws_1o5_hns_xp xp' at line 1

Elactos 2013-08-14 22:10

key är ett reserverat ord i MySQL. Ska du använde det ordet får du skriva `key`.

Anaxa 2013-08-15 13:29

Se där va dum man kan vara, tack Elcatos!


Alla tider är GMT +2. Klockan är nu 18:21.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson