首頁 > 後端開發 > php教程 > PHP MySQL:將資料插入表中

PHP MySQL:將資料插入表中

藏色散人
發布: 2023-04-04 11:42:01
原創
3140 人瀏覽過

簡介:在本教學中,您將學習如何使用PHP PDO將資料插入MySQL表。

推薦參考影片教學:《mysql教學

下面我們就結合簡單的範例來跟大家介紹。

tasks資料表內容如下:

tasks-table (1).png

我們要將資料插入表中,可以依照下列步驟操作:

透過建立PDO物件的新實例連接到MySQL資料庫。

建構一個MySQL INSERT語句。

呼叫exec()  PDO物件的方法。

PHP MySQL插入資料範例:在表示例中插入一個新行

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

<?php

  

class InsertDataDemo {

  

    const DB_HOST = &#39;localhost&#39;;

    const DB_NAME = &#39;classicmodels&#39;;

    const DB_USER = &#39;root&#39;;

    const DB_PASSWORD = &#39;&#39;;

  

    private $pdo = null;

  

    /**

     * Open the database connection

     */

    public function __construct() {

        // open database connection

        $conStr = sprintf("mysql:host=%s;dbname=%s", self::DB_HOST, self::DB_NAME);

        try {

            $this->pdo = new PDO($conStr, self::DB_USER, self::DB_PASSWORD);

        } catch (PDOException $pe) {

            die($pe->getMessage());

        }

    }

//...

登入後複製

以下範例說明如何在tasks表中插入新行。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

/**

     * Insert a row into a table

     * @return

     */

    public function insert() {

        $sql = "INSERT INTO tasks (

                      subject,

                      description,

                      start_date,

                      end_date

                  )

                  VALUES (

                      &#39;Learn PHP MySQL Insert Dat&#39;,

                      &#39;PHP MySQL Insert data into a table&#39;,

                      &#39;2013-01-01&#39;,

                      &#39;2013-01-01&#39;

                  )";

  

        return $this->pdo->exec($sql);

    }

登入後複製

定義類別InsertDataDemo,該建構子建立資料庫連接,並使用析構函數來關閉資料庫連接。

在InsertDataDemo類別中,我們定義了一個insert方法,它呼叫exec()  PDO物件的方法來執行INSERT語句。

以下語句建立InsertDataDemo類別的實例,並呼叫insert()  方法以將新行插入到tasks表中。

1

2

$obj = new InsertDataDemo();

$obj->insert();

登入後複製

讓我們查詢tasks表中的資料:

1

2

SELECT *

  FROM tasks;

登入後複製

PHP MySQL:將資料插入表中

#PHP MySQL:使用預處理語句範例插入單行

#要動態且安全地將值從PHP傳遞到SQL語句,可以使用PDO預處理語句。

首先,使用帶有命名佔位符的MySQL語句,如下所示:

1

2

3

4

5

6

7

8

9

10

11

12

$sql = &#39;INSERT INTO tasks (

                      subject,

                      description,

                      start_date,

                      end_date

                  )

                  VALUES (

                      :subject,

                      :description,

                      :start_date,

                      :end_date

                  );&#39;;

登入後複製

:subject,:description,:startdate和:enddate稱為命名佔位符。

其次,呼叫prepare()  PDO物件的方法為執行準備SQL語句:

1

$q = $pdo->prepare($sql);

登入後複製

然後,呼叫execute()  方法並傳遞一個包含與命名佔位符對應的值的數組。

1

$q->execute($task)

登入後複製

把它們放在一起。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

/**

     * Insert a new task into the tasks table

     * @param string $subject

     * @param string $description

     * @param string $startDate

     * @param string $endDate

     * @return mixed returns false on failure

     */

    function insertSingleRow($subject, $description, $startDate, $endDate) {

        $task = array(':subject' => $subject,

            ':description' => $description,

            ':start_date' => $startDate,

            ':end_date' => $endDate);

  

        $sql = &#39;INSERT INTO tasks (

                      subject,

                      description,

                      start_date,

                      end_date

                  )

                  VALUES (

                      :subject,

                      :description,

                      :start_date,

                      :end_date

                  );&#39;;

  

        $q = $this->pdo->prepare($sql);

  

        return $q->execute($task);

    }

登入後複製

現在我們可以將任務的資料傳遞給insertSingleRow()方法:

1

2

3

4

$obj->insertSingleRow(&#39;MySQL PHP Insert Tutorial&#39;,

                          &#39;MySQL PHP Insert using prepared statement&#39;,

                          &#39;2013-01-01&#39;,

                          &#39;2013-01-02&#39;);

登入後複製

檢查tasks表:

PHP MySQL:將資料插入表中

PHP MySQL在表格範例中插入多行

有兩種方法可以在表格中插入多行:

insertSingleRow()  多次執行此方法。

建構一個INSERT插入多行並執行它的MySQL 語句。

本篇文章就是關於PHP PDO預處理語句將資料插入MySQL表的具體方法介紹,希望對需要的朋友有幫助。

以上是PHP MySQL:將資料插入表中的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板