MYSQL har ingen explode()
liknande funktion inbyggd. Men du kan enkelt lägga till liknande funktion till din DB och sedan använda den från php-frågor. Den funktionen kommer att se ut så här:
CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
delim, '');
Användning:
SELECT SPLIT_STRING('apple, pear, melon', ',', 1)
Exemplet ovan returnerar apple
.Jag tror att det kommer att vara omöjligt att returnera array i MySQL så du måste ange vilken förekomst som ska returneras uttryckligen i pos
. Låt mig veta om du lyckas använda den.