Mam funkcję która dopisuje do bazy nową pozycję z danych z pobranych z formularza. Po czym aby uzyskać automatycznie przydzielony numer wpisu wywołuje funkcję LAST_INSERT_ID ()
<?php function add_book () { global $host, $user, $passwd, $database, $Title, $Lang, $FileType, $Size, $Description, $WordKeys, $SessionUser; dbdata(); $query = \"SELECT user_id FROM user WHERE login='$SessionUser'\"; $query2 = \"INSERT INTO book VALUES (NULL,'$Title','$Lang','$FileType','$Size','$Description','$WordKeys',\".$row['user_id'].\",'brak',NULL)\"; } $query3 = \"SELECT LAST_INSERT_ID()\"; $PATH_FILE = \"books/\".$row['last_insert_id()'].\"/\"; $book_id = \"\".$row['last_insert_id()'].\"\"; } if($result2) { } else { } } ?>
Problem polega na tym, że przypisanej zmiennej $book_id LAST_INSERT_ID() nie mogę użyć w kolejnej funkcji nastepującej za tą.
<?php function add_author ($x,$y) { dbdata(); $query = \"SELECT author_id FROM author WHERE fname='$x' AND lname='$y'\"; $id = \"\".$row['author_id'].\"\"; } $query2 = \"INSERT INTO authorbook VALUES ('$id','$book_id')\"; } ?>
I nawet próbując wypisać tę funkcję poprzez echo $book_id nic się nie pojawia na stronie.
CO ROBI ŹLE??
Dlaczego ta zmienna nie pojawia się nawet przy wywołaniu echem??
Dzięki za pomoc
Mały