PHP 數(shù)據(jù)庫MySQL的使用

前言:
最近剛接觸php,記錄一下學(xué)習的過程套菜。其中遇到過的坑希望對你們有幫助典挑。

文章目錄

1、有關(guān)數(shù)據(jù)庫的簡介
2、安裝的工具與環(huán)境
3耕拷、創(chuàng)建數(shù)據(jù)庫的方式
4、文章發(fā)布系統(tǒng)
5壳坪、遇到的小坑

1午磁、有關(guān)數(shù)據(jù)庫的簡介:

a、先附上一張有關(guān)數(shù)據(jù)庫整理的知識:


MySQL.jpg

b懊昨、介紹一下數(shù)據(jù)庫中:DATABASE TABLE COLUMN ROW 的關(guān)系

關(guān)系表p1.jpg

例如:DATABASE可以包含有多個TABLE窄潭,TABLE中包含COLUMN、ROW酵颁。就好比一個Number中有多個表嫉你,表里有行和列月帝。如圖關(guān)系表p2。

![關(guān)系表p2.png](http://upload-images.jianshu.io/upload_images/188188-6ea3b489994974c9.png?
imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

2均抽、安裝的工具與環(huán)境:

1嫁赏、Mac
2、MAMP (Apache油挥、MySQL潦蝇、PHP),安裝請自行搜索
3、PhpStorm.

3深寥、創(chuàng)建數(shù)據(jù)庫的方式

一攘乒、使用PhpStorm工具創(chuàng)建數(shù)據(jù)庫

1、MAMP 開啟服務(wù)
2惋鹅、在PhpStorm 中view --- Tool Windows --- Database

p2.png

3则酝、選擇 " + " 添加MySQL

p3.png

4、MySQL 配置

p4

Name: 可以隨意起
Host Port User Passoword 要根據(jù)自己實際情況設(shè)置闰集,點擊MAMP中的WebStart可以查看具體的設(shè)置沽讹。

p4.png

5武鲁、最后點擊Test Connection測試連接是否成功

p5-1.png

我在使用的時候遇到了一個錯誤:java.net.ConnectException: Connection refused
發(fā)現(xiàn)是MAMP的設(shè)置有問題:檢查一下 是否有勾選了 Allow network access to MySQL

p5-2.png

6饲梭、設(shè)置完成后订框,開始創(chuàng)建數(shù)據(jù)庫了。

1纵揍、創(chuàng)建數(shù)據(jù)庫
2泽谨、創(chuàng)建表(只是創(chuàng)建表,表將會有什么內(nèi)容,此時并沒有內(nèi)容)
3、更新/插入雳灾。內(nèi)容是從這步創(chuàng)建的
4宇姚、才可以使用....

開始使用SQL語句進行操作嚎花,具體SQL語句解釋可以在參考

CREATE DATABASE userinfo;
USE userinfo;
# #創(chuàng)建數(shù)據(jù)庫中的表
CREATE TABLE myInfo(sid VARCHAR(12),sname VARCHAR(20), sage INT);
# # 添加語句
INSERT myInfo (sid, sname, sage) VALUES ('123456','hing',18);
#
# # 查詢語句
SELECT * FROM myInfo;
# # 更新語句
UPDATE myInfo SET sage = 28 WHERE sname = 'hing';
# #刪除語句(刪除一個名為samoy的學(xué)生)
# DELETE FROM myInfo WHERE sid = '123456';
# DROP DATABASE userinfo;CREATE TABLE myInfo(sid VARCHAR(12),sname VARCHAR(20), sage INT)
````````

可以在執(zhí)行的SQL語句后面  command + enter鍵,選在單條執(zhí)行道逗。

![p6-1.png](http://upload-images.jianshu.io/upload_images/188188-343f3902e8540064.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

執(zhí)行完語句之后巩那,可以直接在phpMyAdmin(在MAMP--webStart的頁面中)中查看

![p6-2.png](http://upload-images.jianshu.io/upload_images/188188-95743b3365cb3d9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

######這里順便介紹phpMyAdmin 管理數(shù)據(jù)庫 (導(dǎo)入導(dǎo)出操作)

導(dǎo)入 ,選擇已經(jīng)處在的數(shù)據(jù)庫,如果導(dǎo)入的數(shù)據(jù)表植兰,則要在數(shù)據(jù)庫下添加才可以。(在我的demo中有導(dǎo)出了“文章發(fā)布系統(tǒng)”的數(shù)據(jù)庫([info.sql.zip](https://github.com/A-Hing/PutArticle/blob/master/info.sql.zip))朦促,有興趣可以試試)
![導(dǎo)入p1.png](http://upload-images.jianshu.io/upload_images/188188-0dc827d9bba6f3b4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

導(dǎo)出:這里要分清楚導(dǎo)出的是數(shù)據(jù)庫還是數(shù)據(jù)表禀忆,不然會遇到像 導(dǎo)出p3.png 圖所示的錯誤箩退。

![導(dǎo)出p1.png](http://upload-images.jianshu.io/upload_images/188188-1c7d38f6a4fc77b3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![導(dǎo)出p2.png](http://upload-images.jianshu.io/upload_images/188188-76f82a04d87ed147.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

![導(dǎo)出p3.png](http://upload-images.jianshu.io/upload_images/188188-bc3a5c5c89b655e1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


#####二离熏、使用代碼創(chuàng)建數(shù)據(jù)庫

```
<?php
/**
 * Created by PhpStorm.
 * User: a-hing
 * Date: 2017/4/4
 * Time: 下午11:03
 */

//數(shù)據(jù)庫連接,test是數(shù)據(jù)庫的名字,使用完成之后注意關(guān)閉數(shù)據(jù)庫連接
$con = mysqli_connect("localhost","root","root");
if (!$con)
{
    die('Could not connect: ' . mysqli_error($con));
}

//創(chuàng)建數(shù)據(jù)庫
if (mysqli_query($con,"CREATE DATABASE userinfo"))
{
    echo "Database created";
}
else
{
    echo "Database created error: " . mysqli_error($con);
}

//使用該數(shù)據(jù)庫
mysqli_select_db($con,"userinfo");

//1、創(chuàng)建表  2戴涝、 插入數(shù)據(jù) (不重復(fù)創(chuàng)建)
if(!mysqli_query($con, "SELECT * FROM yourInfo")) {
    //創(chuàng)建表
    $sql = "CREATE TABLE yourInfo (sid varchar(12),sname varchar(20),sage int)";
    mysqli_query($con,$sql);

    //向表中插入數(shù)據(jù)
    $insert = "INSERT yourInfo (sid, sname, sage) VALUES ('123456','sam',18)";
    mysqli_query($con, $insert);
}

//從表中查詢數(shù)據(jù)
$query = "SELECT * FROM yourInfo";
$result = mysqli_query($con, $query);

while($row = mysqli_fetch_array($result))
{
    echo "\n".$row['sid']."\t".$row['sname']."\t".$row['sage']."\n";
}

//最后關(guān)閉數(shù)據(jù)庫連接
mysqli_close($con);
```


###4滋戳、文章發(fā)布系統(tǒng)

這里推薦一個相關(guān)的demo - “文章發(fā)布系統(tǒng)” [教程](http://www.imooc.com/learn/116),有講解啥刻,有源碼奸鸯。可以很好的鞏固了數(shù)據(jù)庫的相關(guān)操作可帽。

我自己也跟著demo練習了一遍 有興趣參考我的[demo](https://github.com/A-Hing/PutArticle)
不同之處有:
1娄涩、多處的mysql_query更換成mysqli_query。
2映跟、文章的id換成了article_id蓄拣。
3、修改了某些的SQL語句努隙。
4球恤、添加了注釋。添加了注釋剃法。添加了注釋


#####最后附上遇到過的問題:
1碎捺、[You don't have permission to access /MAMP/ on this server](https://www.drupal.org/node/645574)
2路鹰、echo打印不出表單的內(nèi)容,看看[echo print() print_r() var_dump()的區(qū)別](http://www.cnblogs.com/tylerdonet/p/3702527.html)
3收厨、遇到調(diào)試不出來的環(huán)境問題晋柱,不妨重啟MAMP的server或者重啟電腦,你會有意外的收獲诵叁。
4雁竞、php  $_POST 獲取表單信息為空,是因為phpstorm默認63342端口,把端口號改成你服務(wù)器的端口號就可以拧额,如:MAMP默認是8888碑诉。
5、如果遇到中文入庫亂碼的話侥锦,建議直接安裝數(shù)據(jù)庫工具修改encoding进栽。非常簡單粗暴。



最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末恭垦,一起剝皮案震驚了整個濱河市快毛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌番挺,老刑警劉巖唠帝,帶你破解...
    沈念sama閱讀 210,978評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異玄柏,居然都是意外死亡襟衰,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評論 2 384
  • 文/潘曉璐 我一進店門粪摘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瀑晒,“玉大人,你說我怎么就攤上這事徘意」逋” “怎么了?”我有些...
    開封第一講書人閱讀 156,623評論 0 345
  • 文/不壞的土叔 我叫張陵映砖,是天一觀的道長。 經(jīng)常有香客問我灾挨,道長邑退,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,324評論 1 282
  • 正文 為了忘掉前任劳澄,我火速辦了婚禮地技,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘秒拔。我一直安慰自己莫矗,他們只是感情好,可當我...
    茶點故事閱讀 65,390評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著作谚,像睡著了一般三娩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妹懒,一...
    開封第一講書人閱讀 49,741評論 1 289
  • 那天雀监,我揣著相機與錄音,去河邊找鬼眨唬。 笑死会前,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的匾竿。 我是一名探鬼主播瓦宜,決...
    沈念sama閱讀 38,892評論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼岭妖!你這毒婦竟也來了临庇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評論 0 266
  • 序言:老撾萬榮一對情侶失蹤区转,失蹤者是張志新(化名)和其女友劉穎苔巨,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體废离,經(jīng)...
    沈念sama閱讀 44,104評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡侄泽,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,451評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜻韭。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片悼尾。...
    茶點故事閱讀 38,569評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖肖方,靈堂內(nèi)的尸體忽然破棺而出闺魏,到底是詐尸還是另有隱情,我是刑警寧澤俯画,帶...
    沈念sama閱讀 34,254評論 4 328
  • 正文 年R本政府宣布析桥,位于F島的核電站,受9級特大地震影響艰垂,放射性物質(zhì)發(fā)生泄漏泡仗。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,834評論 3 312
  • 文/蒙蒙 一猜憎、第九天 我趴在偏房一處隱蔽的房頂上張望娩怎。 院中可真熱鬧,春花似錦胰柑、人聲如沸截亦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽崩瓤。三九已至袍啡,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谷遂,已是汗流浹背葬馋。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留肾扰,地道東北人畴嘶。 一個月前我還...
    沈念sama閱讀 46,260評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像集晚,于是被迫代替她去往敵國和親窗悯。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,446評論 2 348

推薦閱讀更多精彩內(nèi)容