I have the following script:
try {
$conn = mysql_connect("localhost","webuser","testme") or die("Could not
connect");
mysql_select_db("bookcollection",$conn) or die("Could not select
database");
//first, check to see if there is an author
if ($_POST["neworoldauthor"] == "new") {
$sql = "SELECT * FROM AUTHORS WHERE FirstName=\"" .
$_POST["authorfname"] . "\" AND LastName=\"" . $_POST["authorlname"] . "\"";
$retval = mysql_query($sql);
if (mysql_num_rows($retval) == 0) {
$sql = "INSERT INTO AUTHORS(FirstName, LastName) VALUES(\"" .
$_POST["authorfname"] . "\",\"" . $_POST["authorlname"] . "\")";
mysql_query($sql);
$authorID = mysql_insert_id();
} else {
$row = mysql_fetch_array($retval,MYSQL_ASSOC);
$authorID = $row["AuthorID"];
}
} else { // it's an old author
$authorID = $_POST["authors"];
}
//now, check titles
$sql = "SELECT * FROM TITLES WHERE TITLE_TITLE=\"" . $_POST["title"] .
"\"";
$retval = mysql_query($sql) or die(mysql_error());
if (mysql_num_rows($retval) == 0) {
$sql = "INSERT INTO TITLES(TITLE_TITLE) VALUES(\"" . $_POST["title"] .
"\")";
mysql_query($sql);
$titleID = mysql_insert_id();
} else {
$row = mysql_fetch_array($retval,MYSQL_ASSOC);
$titleID = $row["TITLE_ID"];
}
//now, insert the book
$sql = "INSERT INTO
BOOKS(CopyrightYear,CoverType,DatePurchased,EditionNumber,ISBNNumber,Notes,Pages,Publisher,LOCNumber)
VALUES(\"" . $_POST["copyrightyear"] . "\",\"" . $_POST["covertype"] .
"\",\"" . $_POST["datepurchased"] . "\"," . $_POST["editionnumber"] .
",\"" . $_POST["isbn"] . "\",\"" . addslashes($_POST["notes"]) . "\"," .
(isset($_POST["numberofpages"])?$_POST["numberofpages"]:0) . ",\"" .
$_POST["publisher"] . "\",\"" . $_POST["locnumber"] . "\")";
mysql_query($sql);
$bookID = mysql_insert_id();
$sql = "INSERT INTO BOOK_TITLE(BOOK_ID,TITLE_ID) VALUES($bookID,$titleID)";
mysql_query($sql);
$sql = "INSERT INTO AUTHOR_TITLE(AUTHOR_ID, TITLE_ID)
VALUES($authorID,$titleID)";
mysql_query($sql);
$sql = "INSERT INTO TITLE_GENRE(TITLE_ID,GENRE_ID) VALUES($titleID," .
$_POST["genre"] . ")";
mysql_query($sql);
} catch(Exception $e) {
echo $e->GetMessage();
mysql_query("ROLLBACK");
}
?>
I'm trying to get to the point where if the query doesn't execute, it
pops out a message and rollsback any possible results. It doesn't.
What's wrong on this script?
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php