簡體   English   中英

使用 PDO 和 PHP 在 2 個表中插入多行

[英]Insert multiple rows in 2 tables using PDO and PHP

我想在表字典中插入 3 行,在表橫幅中插入另外 3 行,所以在這個例子中,我只為每個表留下了 1 個查詢。 我得到的錯誤是

類 PDOStatement 的對象無法轉換為字符串

try {
$conn = new PDO('mysql:host=mysql;dbname=mydb;charset=utf8mb4', 'root', 'tiger');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->beginTransaction();

$conn->exec("INSERT INTO `dictionary` (`id`, `it`, `en`, `fr`, `es`, `pt`, `de`, `nl`) VALUES ('1', 'Sed tempus libero a tristique placerat.\r\n', 'Curabitur at justo sit amet mi aliquam vestibulum.\r\n', 'Duis sed elit suscipit, venenatis ipsum vitae, molestie elit.\r\n', 'Ut ac tortor semper, finibus est ac, porta erat.\r\n', 'Morbi sit amet quam facilisis, tristique mi a, sagittis quam.\r\n', 'Nulla nec sem quis velit tristique tempus vel id augue.\r\n', 'Mauris tincidunt leo eget tincidunt bibendum.\r\n')");
echo "New dictionary created successfully";

$stmt = $conn->prepare("INSERT INTO `banner` (`id`, `dictionaryId`, `name`, `destinationURL`, `domains`, `imageURL`, `position`, `startDate`, `finishDate`) VALUES ('5', '1', 'blink', 'github.com', 'Github', :imageURL, '5', '2019-04-18 03:00:00', '2019-05-04 00:00:00')");
$stmt->bindValue(':imageURL', $dropboxLink);
$stmt->execute();
$conn->commit();
echo "New banner created successfully";
} catch (PDOException $e) {
echo $stmt . "<br>" . $e->getMessage();
}

$conn = null;

這是修改后的代碼,試試這個

try {
  $conn = new PDO('mysql:host=mysql;dbname=mydb;charset=utf8mb4', 'root', 'tiger');
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $conn->beginTransaction();

  $stmt1 = $conn->prepare("INSERT INTO `dictionary` (`id`, `it`, `en`, `fr`, `es`, `pt`, `de`, `nl`) VALUES ('1', 'Sed tempus libero a tristique placerat.\r\n', 'Curabitur at justo sit amet mi aliquam vestibulum.\r\n', 'Duis sed elit suscipit, venenatis ipsum vitae, molestie elit.\r\n', 'Ut ac tortor semper, finibus est ac, porta erat.\r\n', 'Morbi sit amet quam facilisis, tristique mi a, sagittis quam.\r\n', 'Nulla nec sem quis velit tristique tempus vel id augue.\r\n', 'Mauris tincidunt leo eget tincidunt bibendum.\r\n')");
  $stmt1->execute();
  echo "New dictionary created successfully";

  $stmt2 = $conn->prepare("INSERT INTO `banner` (`id`, `dictionaryId`, `name`, `destinationURL`, `domains`, `imageURL`, `position`, `startDate`, `finishDate`) VALUES ('5', '1', 'blink', 'github.com', 'Github', :imageURL, '5', '2019-04-18 03:00:00', '2019-05-04 00:00:00')");
  $stmt2->bindValue(':imageURL', $dropboxLink);
  $stmt2->execute();
  $conn->commit();
  echo "New banner created successfully";
} catch (PDOException $e) {
 echo $e->getMessage();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM