溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP7留言板之MYSQL數(shù)據(jù)庫怎么設(shè)計(jì)

發(fā)布時(shí)間:2020-12-28 10:09:17 來源:億速云 閱讀:507 作者:小新 欄目:編程語言

這篇文章主要介紹PHP7留言板之MYSQL數(shù)據(jù)庫怎么設(shè)計(jì),文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

本步驟綱目:
1、超全局變量$_GET $_POST
2、MYSQL數(shù)據(jù)庫設(shè)計(jì)
3、mysqli相關(guān)數(shù)據(jù)庫操作,連接及增刪改查(select insert delete update)操作

下面進(jìn)入正題:

  • 1、超全局變量$_GET $_POST
    概念性的東西這里不闡述,正如字面上的意思一樣,get的意思是用戶是從提交方式為get的form表單提交過來的(form中屬性是method="get"),如果是post就是提交方式為post,唯一的區(qū)別是post比get安全,而且提交的內(nèi)容更多。留言板提交方式建議一定是post

// 獲取姓名
$name = $_GET['name'];
$name = $_POST['name'];

// 獲取聯(lián)系方式
$contact= $_GET['contact'];
$contact= $_POST['contact'];

// 獲取留言內(nèi)容,這里如果提交的內(nèi)容比較多,超過瀏覽器url長(zhǎng)度限制會(huì)報(bào)錯(cuò),所以還是建議用post方式
$content= $_GET['content'];
$content= $_POST['content'];
  • 2、MYSQL數(shù)據(jù)庫設(shè)計(jì)

--
-- 表的結(jié)構(gòu) `feedback`
--

CREATE TABLE `feedback` (
  `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL COMMENT '姓名',
  `contact` varchar(100) NOT NULL COMMENT '聯(lián)系方式',
  `content` text NOT NULL COMMENT '留言內(nèi)容',
  `addtime` int(10) UNSIGNED NOT NULL DEFAULT '0' COMMENT '記錄時(shí)間',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='留言板數(shù)據(jù)表';

查找記錄操作:

// localhost數(shù)據(jù)庫地址,本地?cái)?shù)據(jù)庫一般都是這個(gè)或者127.0.0.1;php_course是數(shù)據(jù)表,即用戶提交留言信息保存的數(shù)據(jù)表
$mysqli = mysqli_connect('localhost', '數(shù)據(jù)庫賬號(hào)', '數(shù)據(jù)庫密碼', 'php_course');
if(mysqli_connect_errno()){
    echo '連接數(shù)據(jù)庫失?。?#39;.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8"); // 因?yàn)槲募幋a是utf8,所以數(shù)據(jù)記錄集也需要設(shè)置utf8編碼,否否則查詢出來的結(jié)果會(huì)亂碼
$sql = "SELECT * FROM feedback"; // 查詢sql語句
$result = mysqli_query($mysqli, $sql); // 執(zhí)行語句
$rows_num = mysqli_affected_rows($mysqli); // 返回記錄數(shù),只是一個(gè)統(tǒng)計(jì),可以不用
echo $rows_num;
// 開始遍歷記錄集,循環(huán)獲取所有feedback表中的所有記錄并賦值到$all_row
$all_row = array();
while($rows = mysqli_fetch_array($result)){
    print_r($rows);
    $all_row[] = $rows;
}
// $all_row就是feedback的所有結(jié)果集
print_r($all_row);

記錄入庫操作:

$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '連接數(shù)據(jù)庫失?。?#39;.mysqli_connect_error();
    exit;
}
mysqli_query($mysqli, "SET NAMES UTF8");
$sql = 'INSERT INTO feedback (name, contact, content, addtime) VALUES ("測(cè)試", "qq1000", "留言內(nèi)容", '.$time.')';
$result = mysqli_query($mysqli, $sql);
$insert_id = mysqli_insert_id($mysqli); // 返回?cái)?shù)據(jù)表的自增長(zhǎng)ID,比如新用戶注冊(cè)返回用戶ID
echo $insert_id; // 當(dāng)你在調(diào)試的時(shí)候,你會(huì)發(fā)現(xiàn)echo是很好的幫手。
if($insert_id > 0){
    // 如果入庫成功,可以做什么
}

修改和更新:

// 修改更新
// 修改之前需要根據(jù)id查找記錄是否存在,如果存在則可以修改(這種情況很常用,比如用戶后臺(tái),除了驗(yàn)證用戶是否登錄還需要驗(yàn)證當(dāng)前修改的記錄是否屬于當(dāng)前用戶)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '連接數(shù)據(jù)庫失敗:'.mysqli_connect_error();
    exit;
}
$sql = "SELECT * FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一個(gè)資源標(biāo)識(shí)符,通常是數(shù)字
$row = mysqli_fetch_array($result);
if(!empty($row)){
    // 執(zhí)行更新操作
    $update_sql = "UPDATE feedback SET name='修改后的名字' WHERE id={$row['id']}";
    if(FALSE !== mysqli_query($mysqli, $update_sql)){
        // 修改成功
    }
}else{
    echo '信息不能再或者不屬于你的。';
    exit();
}

刪除操作:

// 刪除操作
// 跟修改更新同樣,刪除之前需要判斷當(dāng)前刪除的記錄是否存在(如果還有圖片附件,需要先刪除附件再刪除記錄)
$mysqli = mysqli_connect('localhost', 'root', '', 'php_course');
if(mysqli_connect_errno()){
    echo '連接數(shù)據(jù)庫失?。?#39;.mysqli_connect_error();
    exit;
}
$sql = "DELETE FROM feedback WHERE id = 3";
$result = mysqli_query($mysqli, $sql); // 返回一個(gè)資源標(biāo)識(shí)符,通常是數(shù)字
if(FALSE !== $result){
    // 刪除成功
}

本節(jié)主要是php+mysql操作,sql語句相對(duì)使用比較頻繁,但無非就那幾個(gè)語法,也是我們今后常用的。

  • 1、select 查找記錄

  • 2、insert into 插入數(shù)據(jù)

  • 3、update 修改數(shù)據(jù)

  • 4、delete 刪除數(shù)據(jù)(這個(gè)是硬刪除,永久刪除,通常是找不回來的,還有一種是軟刪除,今后會(huì)講到)

以上是“PHP7留言板之MYSQL數(shù)據(jù)庫怎么設(shè)計(jì)”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI