Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Procedura rekurencyjna + odpowiednik foreach i array[]
barthpl
post
Post #1





Grupa: Zarejestrowani
Postów: 142
Pomógł: 35
Dołączył: 5.12.2006
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Czy ta procedura jest poprawna? Jej założeniem jest zwiększenie licznika w forum i we wszystkich rodzicach.
Kod
DELIMITER //

DROP PROCEDURE IF EXISTS `forumAddedPost` //
CREATE PROCEDURE `forumAddedPost`(
    IN argForumId INT
)
BEGIN
    UPDATE forum
    SET postNo = postNo +1
    WHERE forumId = argForumId;

    DECLARE varParentId INT DEFAULT 0;

    SELECT parentId
    FROM forum
    WHERE forumId = argForumId
    INTO varParentId;

    IF varParentId != 0 THEN
        CALL forumAddedPost( varParentId );
    END IF;
END //

DELIMITER;


Wyświetla się mi błąd: 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 'DECLARE varParentId INT DEFAULT 0; SELECT parentId FROM forum WHERE foru' at line 9

A i jeszcze jedno jaki będzie odpowiednik polecenia sql równoważnego z takim oto poleceniem PHP:
  1. <?php
  2. $result = mysql_query( "SELECT * FROM forum WHERE parentId = '$forumId'" );
  3. while( ($row =) != false )
  4. mysql_query( "CALL forumAddedPost($row[forumId])" );
  5. ?>


edit --> dodałem tytuł i poprawiłem zapytanie (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował barthpl 1.09.2008, 16:33:40
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 00:01