1. 程式人生 > >PHP基礎回顧之My SQL(七)

PHP基礎回顧之My SQL(七)

連線 MySQL

<?php
$servername = "localhost";
$username = "username";
$password = "password";

// 建立連線
$conn = new mysqli($servername, $username, $password);

// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
} 
echo "連線成功";
?>

關閉連線

$conn->close(); 

建立 MySQL 資料庫

CREATE DATABASE 語句用於在 MySQL 中建立資料庫。在下面的例項中,建立了一個名為 “myDB” 的資料庫:

<?php
$servername = "localhost";
$username = "username";
$password = "password"; 
// 建立連線
$conn = new mysqli($servername, $username, $password);
// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
}  
// 建立資料庫
$sql = "CREATE DATABASE myDB";
if ($conn->query($sql) === TRUE) {
    echo "資料庫建立成功";
} else {
    echo "Error creating database: " . $conn->error;
} 
$conn->close();
?>

建立資料表

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立連線
$conn = new mysqli($servername, $username, $password,   $dbname);
// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
}

// 使用 sql 建立資料表
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully";
} else {
    echo "建立資料表錯誤: " . $conn->error;
}

$conn->close();
?> 

插入資料

 <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立連線
$conn = new mysqli($servername, $username, $password,     $dbname);
// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
}

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]')";

if ($conn->query($sql) === TRUE) {
    echo "新記錄插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

插入多條資料

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立連結
$conn = new mysqli($servername, $username, $password,     $dbname);
// 檢查連結
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
} 

$sql = "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('John', 'Doe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Mary', 'Moe', '[email protected]');";
$sql .= "INSERT INTO MyGuests (firstname, lastname, email)
VALUES ('Julie', 'Dooley', '[email protected]')";

if ($conn->multi_query($sql) === TRUE) {
    echo "新記錄插入成功";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?>

MySQLi 預處理語句 以下例項在 MySQLi 中使用了預處理語句,並綁定了相應的引數: 例項 (MySQLi 使用預處理語句)

 <?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立連線
$conn = new mysqli($servername, $username, $password, $dbname);

// 檢測連線
if ($conn->connect_error) {
    die("連線失敗: " . $conn->connect_error);
}

// 預處理及繫結
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $firstname, $lastname, $email);

// 設定引數並執行
$firstname = "John";
$lastname = "Doe";
$email = "[email protected]";
$stmt->execute();

$firstname = "Mary";
$lastname = "Moe";
$email = "[email protected]";
$stmt->execute();

$firstname = "Julie";
$lastname = "Dooley";
$email = "[email protected]";
$stmt->execute();

    echo "新記錄插入成功";

    $stmt->close();
    $conn->close();
    ?>

從 MySQL 資料庫讀取資料

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// 建立連線
$conn = new mysqli($servername, $username, $password,     $dbname);
// Check connection
if ($conn->connect_error) {
die("連線失敗: " . $conn->connect_error);
} 

$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// 輸出資料
    while($row = $result->fetch_assoc()) {
          echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " .       $row["lastname"]. "<br>";
    }
} else {
    echo "0 結果";
}
$conn->close();
?>

where語句

<?php
$con=mysqli_connect("localhost","username","password","database"    );
// 檢測連線
if (mysqli_connect_errno())
{
    echo "連線失敗: " . mysqli_connect_error();
}

$result = mysqli_query($con,"SELECT * FROM Persons
WHERE FirstName='Peter'");

while($row = mysqli_fetch_array($result))
{
    echo $row['FirstName'] . " " . $row['LastName'];
    echo "<br>";
}
?>

ORDER BY 關鍵詞

  • ORDER BY 關鍵詞用於對記錄集中的資料進行排序。
  • ORDER BY 關鍵詞預設對記錄進行升序排序。 -用 DESC 關鍵字降序排序 語法 SELECT column_name(s) FROM table_name ORDER BY column_name(s) ASC|DESC

更新資料庫中的資料update

  • UPDATE 語句用於更新資料庫表中已存在的記錄。 語法 UPDATE table_name SET column1=value, column2=value2,… WHERE some_column=some_value

刪除資料庫中的資料delete

  • DELETE FROM 語句用於從資料庫表中刪除記錄。 語法 DELETE FROM table_name WHERE some_column = some_value