fatihemre adlı üyeden alıntı: mesajı görüntüle
Neden bir mysql fonksiyonu ile yapmıyorsunuz

DELIMITER $$
DROP FUNCTION IF EXISTS `getDepth` $$
CREATE FUNCTION `getDepth` (kategori_id INT) RETURNS int
BEGIN
    DECLARE depth INT;
    SET depth=1;

    WHILE kategori_id > 0 DO
        SELECT IFNULL(ustkat,-1)
        INTO kategori_id
        FROM ( SELECT ustkat FROM kategoriler WHERE id = kategori_id) t;

        IF kategori_id > 0 THEN
            SET depth = depth + 1;
        END IF;

    END WHILE;
    RETURN depth;
END $$
DELIMITER ;
Teşekkür ederim farklı bir yolla hallettim uyanınca paylaşacağım