PHP開發(fā)文章發(fā)布系統(tǒng)之項目數(shù)據(jù)庫創(chuàng)建
數(shù)據(jù)庫分析
文章發(fā)布系統(tǒng)的數(shù)據(jù)庫主要包含一個文章表,表中應(yīng)該包含一個主鍵id、文章標題、文章作者、文章描述、文章詳細內(nèi)容以及文章的發(fā)布時間。字段詳細信息如下:
字段名 | 字段類型 | 字段長度 | 字段描述 |
id | int | 11 | 編號 |
title | varchar | 30 | 文章標題 |
author | varchar | 30 | 文章作者 |
description | text | 文章描述 | |
content | text | 文章內(nèi)容 | |
dateline | int | 11 | 發(fā)布時間 |
數(shù)據(jù)庫創(chuàng)建
我們在命令提示符窗口下運行 mysql(具體怎么通過命令提示符窗口連接數(shù)據(jù)庫,可以參考我們之前的課程《PHP開發(fā)登錄注冊教程》中的2.2小節(jié))
連接數(shù)據(jù)庫成功后,將下面創(chuàng)建數(shù)據(jù)庫的完整語句復(fù)制進窗口中,按回車鍵即提示創(chuàng)建成功,如下圖
創(chuàng)建數(shù)據(jù)庫的完整語句
DROP DATABASE IF EXISTS articledb; CREATE DATABASE articledb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; USE articledb; CREATE TABLE article( id int(11) NOT NULL AUTO_INCREMENT, title varchar(30) NOT NULL, author varchar(30) DEFAULT NULL, description text DEFAULT NULL, content text DEFAULT NULL, dateline int(11) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; insert into article(title,author) values('admin','admin');
語句解釋
首先判斷是否存在articledb數(shù)據(jù)庫,如果存在則先刪除
判斷之后創(chuàng)建articledb數(shù)據(jù)庫,編碼為utf8格式
選擇我們創(chuàng)建好的articledb數(shù)據(jù)庫
創(chuàng)建article數(shù)據(jù)表
表中包含6個字段,其中id為主鍵,自增長
創(chuàng)建完之后插入一條數(shù)據(jù),方便我們之后使用
數(shù)據(jù)庫配置文件信息
config.php
<?php header("Content-type:text/html;charset=utf-8"); define('HOST','127.0.0.1'); define('USERNAME','root'); define('PASSWORD','root'); ?>
代碼解釋:
將數(shù)據(jù)庫的登錄信息以常量形式存儲起來,這個方便我們的調(diào)用和以后修改
header("Content-type:text/html;charset=utf-8");這句必須存在,這是定義了編碼格式,沒有的話,頁面顯示漢字會亂碼
連接數(shù)據(jù)庫信息
我們將連接數(shù)據(jù)庫的語句獨立出來,這樣在后面連接數(shù)據(jù)庫的時候,只要直接調(diào)用就可以了
connect.php代碼如下
<?php require_once('config.php'); $conn = mysqli_connect(HOST,USERNAME,PASSWORD);//數(shù)據(jù)庫帳號密碼為安裝數(shù)據(jù)庫時設(shè)置 if(mysqli_errno($conn)){ echo mysqli_errno($conn); exit; } mysqli_select_db($conn,"articledb"); mysqli_set_charset($conn,'utf8'); ?>
代碼解釋:
引入了數(shù)據(jù)庫配置文件
連接數(shù)據(jù)庫,失敗了提示錯誤信息
選擇我們剛剛創(chuàng)建的數(shù)據(jù)庫
設(shè)備編碼格式為utf8