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 ()
<?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()\";
mkdir(\"books/\".$row['last_insert_id()'].\"\", 0777); $PATH_FILE = \"books/\".$row['last_insert_id()'].\"/\";
echo \"<form enctype=\"multipart/form-data\" action=\"filesend.php\" method=\"post\">\"; echo \"<INPUT TYPE=HIDDEN NAME=\"PATH_FILE\" VALUE='$PATH_FILE'>\"; $book_id = \"\".$row['last_insert_id()'].\"\";
echo \"<INPUT TYPE=HIDDEN NAME=\"book_id\" VALUE='$book_id'>\"; }
if($result2) {
echo '<div>Dane zostały zapisane do bazy. <br> Wczytaj teraz plik z ebookiem</div>'; }
else {
echo '<div>Wystąpił problem dane nie zostały dopisane do bazy'; }
}
?>
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) {
global $host, $user, $passwd, $database, $book_id; dbdata();
$query = \"SELECT author_id FROM author WHERE fname='$x' AND lname='$y'\";
echo \"\".$row['author_id'].\"\"; $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