Я пытаюсь запустить транзакцию mysql и вставить данные в базу данных. Источник базы данных sql можно найти на github here. Здесь ошибка:Ошибка синтаксиса MYSQL в php, но sql
Error: START TRANSACTION; INSERT INTO Books(Title, PublicationDate, PurchaseDate, Description, LocationID, GenreID) VALUES('Simple Genius', '2008-4-1','2009-5-7','','Hardbook Library','Fiction'); SET @bookid = LAST_INSERT_ID(); INSERT INTO BookAuthors(FirstName, MiddleName, LastName) VALUES('David', '', 'Baldacci'); SET @authorid = LAST_INSERT_ID(); INSERT INTO AuthorsInBooks(AuthorID, BookID) VALUES(@authorid, @bookid); COMMIT; 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 'INSERT INTO Books(Title, PublicationDate, PurchaseDate, Description, LocationID,' at line 3
рядом с «INSERT INTO книг (название, PublicationDate, PurchaseDate, Описание, LocationID,» не имеет смысла для меня, потому что не хватает GenreID после LocationID я упускаю что-то когда.? Я скопировать и вставить этот код в PHPMyAdmin он отлично работает мой PHP версия 5.4
Вот PHP код:..
$sql = "
START TRANSACTION;
INSERT INTO Books(Title, PublicationDate, PurchaseDate, Description, LocationID, GenreID)
VALUES('".$Title."', '".$YearWritten."','".$YearPurchased."','".$Description."','".$Location."','".$Genre."');
SET @bookid = LAST_INSERT_ID();
INSERT INTO BookAuthors(FirstName, MiddleName, LastName)
VALUES('".$AuthFirstName."', '".$AuthMiddleName."', '".$AuthLastName."');
SET @authorid = LAST_INSERT_ID();
INSERT INTO AuthorsInBooks(AuthorID, BookID)
VALUES(@authorid, @bookid);
COMMIT;
";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
Пожалуйста, ознакомьтесь с Http: // StackOverflow. com/questions/60174/how-can-i-prevent-sql-injection-in-php? rq = 1 – user2864740
Мне сказали использовать это. Это недостаточно эффективно? @ user2864740 mysqli_real_escape_string –
@JacobWilson: Вы можете захотеть прочитайте http://stackoverflow.com/q/5741187, что равнозначно для mysqli. – eggyal