Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przekazanie zmiennej last_insert_id()
malyto
post 20.04.2005, 09:40:28
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 14.04.2005
Skąd: Śrem

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


Witam
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 ()
  1. <?php
  2. function add_book () {
  3. global $host, $user, $passwd, $database, $Title, $Lang, $FileType, $Size, $Description, $WordKeys, $SessionUser;
  4. dbdata();
  5. $query = &#092;"SELECT user_id FROM user WHERE login='$SessionUser'\";
  6. $result = mysql_query($query);
  7. while($row = mysql_fetch_array($result)) {
  8. $query2 = &#092;"INSERT INTO book VALUES (NULL,'$Title','$Lang','$FileType','$Size','$Description','$WordKeys',\".$row['user_id'].\",'brak',NULL)\";
  9. $result2 = mysql_query($query2);
  10. }
  11. $query3 = &#092;"SELECT LAST_INSERT_ID()\";
  12. $result3 = mysql_query($query3);
  13. while($row = mysql_fetch_array($result3)) {
  14. mkdir(&#092;"books/\".$row['last_insert_id()'].\"\", 0777);
  15. $PATH_FILE = &#092;"books/\".$row['last_insert_id()'].\"/\";
  16. echo &#092;"<form enctype=\"multipart/form-data\" action=\"filesend.php\" method=\"post\">\";
  17. echo &#092;"<INPUT TYPE=HIDDEN NAME=\"PATH_FILE\" VALUE='$PATH_FILE'>\";
  18. $book_id = &#092;"\".$row['last_insert_id()'].\"\";
  19. echo &#092;"<INPUT TYPE=HIDDEN NAME=\"book_id\" VALUE='$book_id'>\";
  20. }
  21. if($result2) {
  22. echo '<div>Dane zostały zapisane do bazy. <br> Wczytaj teraz plik z ebookiem</div>';
  23. }
  24. else {
  25. echo '<div>Wystąpił problem dane nie zostały dopisane do bazy';
  26. }
  27. }
  28.  
  29. ?>

Problem polega na tym, że przypisanej zmiennej $book_id LAST_INSERT_ID() nie mogę użyć w kolejnej funkcji nastepującej za tą.
  1. <?php
  2. function add_author ($x,$y) {
  3. global $host, $user, $passwd, $database, $book_id;
  4. dbdata();
  5. $query = &#092;"SELECT author_id FROM author WHERE fname='$x' AND lname='$y'\";
  6. $result = mysql_query($query);
  7. while($row = mysql_fetch_array($result)) {
  8. echo &#092;"\".$row['author_id'].\"\";
  9. $id = &#092;"\".$row['author_id'].\"\";
  10. }
  11.  
  12. $query2 = &#092;"INSERT INTO authorbook VALUES ('$id','$book_id')\";
  13. $result2 = mysql_query($query2);
  14. }
  15.  
  16. ?>

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
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:22