PHP開發(fā)簡單新聞發(fā)布系統(tǒng)之創(chuàng)建數(shù)據(jù)庫和表
我們可以通過 phpmyadmin 建立數(shù)據(jù)庫,首先建立一個(gè)名為 test 的數(shù)據(jù)庫。
在這個(gè)數(shù)據(jù)庫下建立一個(gè)數(shù)據(jù)表,名為 new 。
下面進(jìn)入一個(gè)重點(diǎn),那就是在表 news 下建立各個(gè)字段。
什么叫字段?
通俗點(diǎn),就是一類事物的總稱。
“ id ”:字段“ id ”是一個(gè)人們默認(rèn)的首選字段,其它字段下的內(nèi)容可以重復(fù)出現(xiàn),但這個(gè)字段卻是從 1 開始增大的阿拉伯?dāng)?shù)字。在設(shè)置這 個(gè)字段時(shí),要設(shè)置主鍵、索引、唯一以及 auto-increment 。這個(gè) auto-increment 就是自動(dòng)增加的意思。當(dāng)任一字段增加內(nèi)容 時(shí),這個(gè)字段就自動(dòng)增加 1 ,也就是說,任一字段都對(duì)應(yīng)一個(gè)唯一的 id ,比如 1 、 2 、 0 27 ……
下面談?wù)勑侣劜糠肿侄蔚慕ⅰ?/span>
1. id :意義為每個(gè)新聞的編號(hào),它是唯一的,類型為 int ,在“額外”中選擇 auto-increment ,并選擇主鍵。
2. author :意義為作者 (新聞發(fā)布人),設(shè)置類型為 varchar?長度為 20 吧
3. title :意義為新聞標(biāo)題,類型為 varchar?長度為 100 吧
4. content :意義為新聞的內(nèi)容,類型為 text 。text 類型的字段雖然也屬于一種字符類型,但其大小不能指定,如果設(shè)置長度,則系統(tǒng)會(huì)提示 SQL 語句出錯(cuò)。
5. created_at :意義為發(fā)表時(shí)間,類型為 datetime ,長度無須設(shè)置
這樣 new 數(shù)據(jù)表就建立好了。
也可以通過PHP代碼創(chuàng)建數(shù)據(jù)庫表
先創(chuàng)建一個(gè)test數(shù)據(jù)庫:
<?php // 創(chuàng)建連接 $conn = new mysqli("localhost", "uesename", "password"); // 檢測(cè)連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error);} // 創(chuàng)建數(shù)據(jù)庫 $sql = "CREATE DATABASE test"; if ($conn->query($sql) === TRUE) { echo "數(shù)據(jù)庫創(chuàng)建成功"; } else { echo "Error creating database: " . $conn->error; } $conn->close(); ?>
接著在test數(shù)據(jù)庫創(chuàng)建一個(gè)new表:
<?php // 創(chuàng)建連接 $conn = new mysqli("localhost", "uesename", "password","test"); // 檢測(cè)連接 if ($conn->connect_error) { die("連接失敗: " . $conn->connect_error); } // 使用 sql 創(chuàng)建數(shù)據(jù)表 $sql = "CREATE TABLE new ( id int(10) UNSIGNED AUTO_INCREMENT PRIMARY KEY, title varchar(100) NOT NULL, author varchar(20) NOT NULL, content text NOT NULL, created_at datetime NOT NULL, )ENGINE=InnoDB DEFAULT CHARSET=utf8 "; if ($conn->query($sql) === TRUE) { echo "Table MyGuests created successfully"; } else { echo "創(chuàng)建數(shù)據(jù)表錯(cuò)誤: " . $conn->error; } $conn->close(); ?>