Hướng dẫn how to insert query in php pdo? - làm thế nào để chèn truy vấn trong php pdo?


Chèn dữ liệu vào MySQL bằng MySQLI và PDO

Sau khi một cơ sở dữ liệu và một bảng đã được tạo, chúng ta có thể bắt đầu thêm dữ liệu vào chúng.

Dưới đây là một số quy tắc cú pháp để tuân theo:

  • Truy vấn SQL phải được trích dẫn trong PHP
  • Các giá trị chuỗi bên trong truy vấn SQL phải được trích dẫn
  • Giá trị số không được trích dẫn
  • Từ null không được trích dẫn

Câu lệnh INSERT được sử dụng để thêm các bản ghi mới vào bảng MySQL:

Chèn vào các giá trị Table_Name (cột1, cột2, cột3, ...) (value1, value2, value3, ...)
VALUES (value1, value2, value3,...)

Để tìm hiểu thêm về SQL, vui lòng truy cập hướng dẫn SQL của chúng tôi.

Trong chương trước, chúng tôi đã tạo một bảng trống có tên "MyGuests" với năm cột: "ID", "FirstName", "LastName", "Email" và "Reg_date". Bây giờ, chúng ta hãy điền vào bảng với dữ liệu.

Lưu ý: Nếu một cột là Auto_increment (như cột "id") hoặc dấu thời gian với bản cập nhật mặc định của current_timesamp (như cột "reg_date"), nó không cần phải được chỉ định trong truy vấn SQL; MySQL sẽ tự động thêm giá trị. If a column is AUTO_INCREMENT (like the "id" column) or TIMESTAMP with default update of current_timesamp (like the "reg_date" column), it is no need to be specified in the SQL query; MySQL will automatically add the value.

Các ví dụ sau đây thêm một bản ghi mới vào bảng "MyGuests":

Ví dụ (hướng đối tượng mysqli) theo định hướng đối tượng)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối if ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("Kết nối không thành công:".
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
  die("Connection failed: " . $conn->connect_error);
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
VALUES ('John', 'Doe', '')";

if ($ Conn-> truy vấn ($ sql) === true) {& nbsp; echo "bản ghi mới được tạo thành công";} other {& nbsp; Echo "Lỗi:". $ SQL. "". $ Conn-> lỗi;}
  echo "New record created successfully";
} else {
  echo "Error: " . $sql . "
" . $conn->error;
}

$ Conn-> đóng (); ?>
?>




Ví dụ (thủ tục MySQLI)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối if ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("Kết nối không thành công:".
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
  die("Connection failed: " . mysqli_connect_error());
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
VALUES ('John', 'Doe', '')";

if ($ Conn-> truy vấn ($ sql) === true) {& nbsp; echo "bản ghi mới được tạo thành công";} other {& nbsp; Echo "Lỗi:". $ SQL. "". $ Conn-> lỗi;}
  echo "New record created successfully";
} else {
  echo "Error: " . $sql . "
" . mysqli_error($conn);
}

$ Conn-> đóng (); ?>
?>


Ví dụ (thủ tục MySQLI)

$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

// Tạo kết nối $ Conn = new mysqli ($ servername, $ username, $ password, $ dbname); // kiểm tra kết nối if ($ Conn-> Connect_error) & nbsp; {& nbsp; & nbsp; die ("Kết nối không thành công:".
  $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
  // set the PDO error mode to exception
  $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $sql = "INSERT INTO MyGuests (firstname, lastname, email)
  VALUES ('John', 'Doe', '')";
  // use exec() because no results are returned
  $conn->exec($sql);
  echo "New record created successfully";
} catch(PDOException $e) {
  echo $sql . "
" . $e->getMessage();
}

$ sql = "chèn vào myguests (firstName, lastName, email) giá trị ('john', 'doe', '' ')";
?>




Bạn nên sử dụng nó như vậy

prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (:fname, :sname, :age)');

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);

Các câu lệnh đã chuẩn bị được sử dụng để vệ sinh đầu vào của bạn và để làm điều đó bạn có thể sử dụng :foo mà không cần bất kỳ trích dẫn nào trong SQL để liên kết các biến, và sau đó trong hàm execute() bạn chuyển trong một mảng kết hợp của các biến bạn đã xác định trong câu lệnh SQL.

Bạn cũng có thể sử dụng ? thay vì :foo và sau đó chuyển trong một mảng chỉ các giá trị để nhập như vậy;

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);

Cả hai cách đều có ưu điểm và nhược điểm của họ. Cá nhân tôi thích liên kết các tên tham số vì tôi dễ đọc hơn.

Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách chèn một hoặc nhiều hàng vào bảng bằng PDO PHP.: in this tutorial, you will learn how to insert one or more rows into a table using PHP PDO.

Các bước để chèn một hàng vào bảng

Để chèn một hàng vào bảng, bạn làm theo các bước sau:

  • Đầu tiên, kết nối với cơ sở dữ liệu bằng cách tạo một đối tượng ____8 mới.
  • Thứ hai, xây dựng câu lệnh INSERT. Nếu bạn cần chuyển một giá trị cho câu lệnh INSERT, bạn có thể sử dụng trình giữ chỗ ở định dạng
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    1. Sau đó, bạn có thể thay thế
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    2 bằng giá trị của nó.
  • Thứ ba, tạo một câu lệnh đã chuẩn bị bằng cách gọi phương thức
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    3 của đối tượng PDO. Phương thức
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    3 trả về một thể hiện của lớp
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    5.
  • Cuối cùng, hãy gọi phương thức execute() của câu lệnh đã chuẩn bị và truyền các giá trị.

Chèn một hàng vào một ví dụ về bảng

Ví dụ sau đây cho thấy cách chèn một hàng mới vào bảng

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);
7:

$pdo = require_once 'connect.php'; // insert a single publisher $name = 'Macmillan'; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); $statement->execute([ ':name' => $name ]); $publisher_id = $pdo->lastInsertId(); echo 'The publisher id ' . $publisher_id . ' was inserted';

Code language: HTML, XML (xml)

Làm thế nào nó hoạt động.

  • Đầu tiên, sử dụng
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    8 để kết nối với cơ sở dữ liệu
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    9.
  • Tiếp theo, xây dựng một câu lệnh SQL INSERT.

    $pdo = require_once 'connect.php'; // insert a single publisher $name = 'Macmillan'; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); $statement->execute([ ':name' => $name ]); $publisher_id = $pdo->lastInsertId(); echo 'The publisher id ' . $publisher_id . ' was inserted';

    Code language: HTML, XML (xml)
    1 là trình giữ chỗ sẽ được thay thế bằng tên nhà xuất bản.
  • Sau đó, chuẩn bị câu lệnh INSERT để thực thi bằng cách gọi phương thức
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    3 của thể hiện

    $pdo = require_once 'connect.php'; // insert a single publisher $name = 'Macmillan'; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); $statement->execute([ ':name' => $name ]); $publisher_id = $pdo->lastInsertId(); echo 'The publisher id ' . $publisher_id . ' was inserted';

    Code language: HTML, XML (xml)
    4. Phương thức Prepare () trả về một thể hiện của lớp
    $statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
        VALUES (?, ?, ?)');
    
    $statement->execute(['Bob', 'Desaunois', '18']);
    
    5.
  • Sau đó, thực hiện câu lệnh đã chuẩn bị bằng cách chuyển các giá trị cho phương thức execute().
  • Cuối cùng, nhận ID được chèn bằng cách gọi phương thức

    $pdo = require_once 'connect.php'; // insert a single publisher $name = 'Macmillan'; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); $statement->execute([ ':name' => $name ]); $publisher_id = $pdo->lastInsertId(); echo 'The publisher id ' . $publisher_id . ' was inserted';

    Code language: HTML, XML (xml)
    7 của đối tượng PDO.

Lưu ý rằng hướng dẫn này sử dụng tập lệnh

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);
8 được phát triển trong hướng dẫn kết nối với cơ sở dữ liệu.

Chèn nhiều hàng vào ví dụ bảng

Để chèn nhiều hàng vào bảng, bạn cần gọi execute() phương thức nhiều lần. Phương thức chèn một hàng mới vào bảng trong mỗi cuộc gọi. Ví dụ:

$pdo = require_once 'connect.php'; $names = [ 'Penguin/Random House', 'Hachette Book Group', 'Harper Collins', 'Simon and Schuster' ]; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); foreach ($names as $name) { $statement->execute([ ':name' => $name ]); }

Code language: HTML, XML (xml)

Trong ví dụ này, chúng tôi có một danh sách các nhà xuất bản được lưu trữ trong mảng

$pdo = require_once 'connect.php'; $names = [ 'Penguin/Random House', 'Hachette Book Group', 'Harper Collins', 'Simon and Schuster' ]; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); foreach ($names as $name) { $statement->execute([ ':name' => $name ]); }

Code language: HTML, XML (xml)
0.

Để chèn các nhà xuất bản này vào bảng

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);
7, chúng tôi lặp lại các phần tử của mảng

$pdo = require_once 'connect.php'; $names = [ 'Penguin/Random House', 'Hachette Book Group', 'Harper Collins', 'Simon and Schuster' ]; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); foreach ($names as $name) { $statement->execute([ ':name' => $name ]); }

Code language: HTML, XML (xml)
0 bằng cách sử dụng

$pdo = require_once 'connect.php'; $names = [ 'Penguin/Random House', 'Hachette Book Group', 'Harper Collins', 'Simon and Schuster' ]; $sql = 'INSERT INTO publishers(name) VALUES(:name)'; $statement = $pdo->prepare($sql); foreach ($names as $name) { $statement->execute([ ':name' => $name ]); }

Code language: HTML, XML (xml)
3 và chèn từng phần tử vào bảng.

Bản tóm tắt

  • Sử dụng một câu lệnh đã chuẩn bị để chèn một hoặc nhiều hàng vào bảng.

Bạn có thấy hướng dẫn này hữu ích không?

Làm thế nào tìm nạp dữ liệu từ cơ sở dữ liệu trong PHP và hiển thị PDO?

Tìm nạp dữ liệu từ một kết quả được đặt bằng cách gọi một trong các phương thức tìm nạp sau: Để trả về một hàng duy nhất từ một kết quả được đặt dưới dạng mảng hoặc đối tượng, hãy gọi phương thức pDostatement :: Fetch.Để trả về tất cả các hàng từ kết quả được đặt dưới dạng một mảng mảng hoặc đối tượng, hãy gọi phương thức pDostatement :: Fetchall.To return a single row from a result set as an array or object, call the PDOStatement::fetch method. To return all of the rows from the result set as an array of arrays or objects, call the PDOStatement::fetchAll method.

Làm thế nào để bạn gửi một truy vấn cho MySQL bằng MySQLI?

Thí dụ.$res = mysqli_query($con, $query, MYSQLI_USE_RESULT); if ($res) { while ($row = mysqli_fetch_row($res)) { print("Name: ".

Làm cách nào để thêm một bản ghi trong phpmyadmin?

Để thêm các bản ghi bên trong bảng cơ sở dữ liệu, hãy mở bảng bằng phpmyadmin và nhấp vào tab Chèn. Nhập dữ liệu mong muốn trong các trường tương ứng và nhấp vào GO để lưu trữ nó.Bạn có thể thấy bản ghi mới được chèn bằng cách nhấp vào tab Duyệt.open the table with phpMyAdmin and click on the Insert tab. Enter the desired data in the corresponding fields and click on Go to store it. You can see the newly inserted record by clicking on the Browse tab.

Làm cách nào để chèn các ký tự đặc biệt vào MySQL bằng PHP?

Hãy thử hàm mysql_real_escape_string () và nó sẽ xử lý các ký tự đặc biệt.Lưu câu trả lời này.mysql_real_escape_string() function and it will handle the special characters. Save this answer.