您好,登錄后才能下訂單哦!
MySQL的ENUM和SET類型是用于在數據庫中存儲一組預定義的值的數據類型
首先,我們創建一個包含ENUM和SET類型的表。例如,我們創建一個名為user_info
的表,其中包含gender
(性別)和hobbies
(愛好)兩個字段,分別使用ENUM和SET類型存儲預定義的值。
CREATE TABLE user_info (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
gender ENUM('male', 'female', 'other'),
hobbies SET('reading', 'traveling', 'sports', 'music')
);
接下來,我們向表中插入一些數據。對于ENUM類型,我們可以直接傳入值,如果傳入的值不在預定義的范圍內,將會插入空字符串(‘’)。
<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// 創建連接
$conn = new mysqli($servername, $username, $password, $dbname);
// 檢查連接
if ($conn->connect_error) {
die("連接失敗: " . $conn->connect_error);
}
// 插入數據
$name = "John";
$gender = "male";
$hobbies = "reading,traveling";
$sql = "INSERT INTO user_info (name, gender, hobbies) VALUES ('$name', '$gender', '$hobbies')";
if ($conn->query($sql) === TRUE) {
echo "新記錄插入成功";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
現在,我們從表中查詢數據,并處理ENUM和SET類型的值。對于ENUM類型,我們可以使用$_POST['enum_field']
的方式獲取值,而對于SET類型,我們需要遍歷預定義的值集合來檢查是否存在。
<?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 = "SELECT * FROM user_info";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 輸出每行數據
while($row = $result->fetch_assoc()) {
$name = $row["name"];
$gender = $row["gender"];
$hobbies = $row["hobbies"];
echo "Name: " . $name . ", Gender: " . $gender . ", Hobbies: ";
// 處理ENUM類型
switch ($gender) {
case 'male':
echo "男性";
break;
case 'female':
echo "女性";
break;
case 'other':
echo "其他";
break;
default:
echo "";
}
// 處理SET類型
$hobbies_array = explode(',', $hobbies);
foreach ($hobbies_array as $hobby) {
switch ($hobby) {
case 'reading':
echo "閱讀";
break;
case 'traveling':
echo "旅行";
break;
case 'sports':
echo "運動";
break;
case 'music':
echo "音樂";
break;
}
}
echo "<br>";
}
} else {
echo "0 結果";
}
$conn->close();
?>
這樣,我們就可以在PHP中使用MySQL的ENUM和SET類型了。注意,在實際應用中,為了防止SQL注入,建議使用預處理語句(prepared statements)來插入和查詢數據。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。