Вставить в 2 таблицы с PDO MySQL

Возможный дубликат:
MySQL Вставка в несколько таблиц? (Нормализация базы данных?)

Я пытаюсь использовать PDO для вставки моих записей в 2 таблицы, у меня есть следующее

try { // Connect and create the PDO object $conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb); $conn->exec("SET CHARACTER SET utf8"); // Sets encoding UTF-8 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO `directory` (`First_Name`,`Surname`,`Nicknames`) VALUES (:firstname, :surname, :nicknames) "; $statement = $conn->prepare($sql); $statement->bindValue(":firstname", $firstname); $statement->bindValue(":surname", $surname); $statement->bindValue(":nicknames", $nicknames); $count = $statement->execute(); $conn = null; // Disconnect } catch(PDOException $e) { echo $e->getMessage(); } 

который вставляет мои данные в 1 таблицу в порядке, если я использую (что я предполагаю быть corrct), однако моя страница не отображает и не выводит исходный код? Может ли кто-нибудь увидеть, если я что-то не так?

 try { // Connect and create the PDO object $conn = new PDO("mysql:host=$hostdb; dbname=$namedb", $userdb, $passdb); $conn->exec("SET CHARACTER SET utf8"); // Sets encoding UTF-8 $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "INSERT INTO `directory`, `nicknames` (`First_Name`,`Surname`,`Nicknames`) VALUES (:firstname, :surname, :nicknames) "; $statement = $conn->prepare($sql); $statement->bindValue(":firstname", $firstname); $statement->bindValue(":surname", $surname); $statement->bindValue(":nicknames", $nicknames); $count = $statement->execute(); $conn = null; // Disconnect } catch(PDOException $e) { echo $e->getMessage(); } 

Это недействительно SQL; вам нужно делать их отдельно. Может быть:

 $sql = " INSERT INTO `directory`(`First_Name`,`Surname`,`Nicknames`) VALUES (:firstname, :surname, :nicknames); INSERT INTO `nicknames`(`First_Name`,`Surname`,`Nicknames`) VALUES (:firstname, :surname, :nicknames); "; 

Насколько мне известно, вы не можете вставлять в 2 таблицы с одним запросом mySQL. Вместо этого вы должны использовать два разных запроса.

Проблема с SQL, я не верю, что это допустимый синтаксис. В этом случае вам нужна транзакция.