Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Accessing MySQL from PHP
Search
LucienLee
July 09, 2013
Programming
1
370
Accessing MySQL from PHP
Fundamental PHP & Web Development
LucienLee
July 09, 2013
Tweet
Share
More Decks by LucienLee
See All by LucienLee
SASS & Compass 101
lucienlee
1
300
Use PaaS service to host your web - with pagodabox
lucienlee
0
79
final album
lucienlee
0
73
Simple Album
lucienlee
0
93
DataBase and MySQL
lucienlee
1
230
PHP 101+1:function & form
lucienlee
1
290
PHP 101: flow control
lucienlee
0
330
Start to Build your Web
lucienlee
1
430
既然如此,那我們來hack資本世界吧!
lucienlee
0
160
Other Decks in Programming
See All in Programming
Deep Dive into ~/.claude/projects
hiragram
9
1.6k
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
240
GraphRAGの仕組みまるわかり
tosuri13
8
490
XP, Testing and ninja testing
m_seki
3
200
ニーリーにおけるプロダクトエンジニア
nealle
0
550
プロダクト志向ってなんなんだろうね
righttouch
PRO
0
160
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
1
690
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
850
PostgreSQLのRow Level SecurityをPHPのORMで扱う Eloquent vs Doctrine #phpcon #track2
77web
2
370
5つのアンチパターンから学ぶLT設計
narihara
1
120
Systèmes distribués, pour le meilleur et pour le pire - BreizhCamp 2025 - Conférence
slecache
0
110
Team operations that are not burdened by SRE
kazatohiei
1
250
Featured
See All Featured
Rebuilding a faster, lazier Slack
samanthasiow
82
9.1k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
31
1.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Building Applications with DynamoDB
mza
95
6.5k
Agile that works and the tools we love
rasmusluckow
329
21k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
29
9.5k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A designer walks into a library…
pauljervisheath
207
24k
Producing Creativity
orderedlist
PRO
346
40k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.8k
Transcript
Accessing MySQL from PHP Fundamental PHP & Web Development lecturer
: Lucien Lee 李柏緯 Lecture 5
2
flow •Connect MySQL Server •Open database •execute SQL •close database
3
connect server 4 Before we can access data in a
database, we must open a connection to the MySQL server.
5
6 mysql_connect mysql_connect(host,username,password); mysql_connect(localhost,‘root’,‘123456’);
SELECT DB choose the db you would like to query
7
8
9 mysql_select_db $link = mysql_connect(localhost,‘root’,‘123456’); mysql_select_db(‘user’, $link);
query execute SQL query BY PHP 10
11
12 mysql_query $sql = “SELECT * FROM table”; $result =
mysql_query($sql,$link);
PHP 5 and older //before query mysql_query('SET NAMES utf8'); 13
fetch result after query, we only get pointer to resource
14
mysql_fetch_array while($row = mysql_fetch_array($result)){ //do something echo $row[‘fieldName’]; echo $row[0];
} 15
mysql_fetch_array while($row = mysql_fetch_array($result,MYSQL_ASSOC)) { //do something echo $row[‘fieldName’]; //echo
$row[0] is wrong } 16
mysql_fetch_assoc while($row = mysql_fetch_assoc($result)) { //do something echo $row[‘fieldName’]; }
17
mysql_fetch_array while($row = mysql_fetch_array($result, MYSQL_NUM)) { //do something //echo $row[‘fieldName’]
is wrong echo $row[0]; } 18
array type •MYSQL_ASSOC •MYSQL_NUM •MYSQL_BOTH 19
remove your pointer we may directly get a specific record
20
mysql_data_seek mysql_data_seek(data,row_num) $row = mysql_fetch_array($result); mysql_data_seek($result,8) $row = mysql_fetch_array($result); //get
9th record 21
mysql_close close Database connect 22
mysql_close mysql_close(resource); 23
more something else 24
mysql_num_rows 25 KNOW HOw many rows selected
mysql_num_rows mysql_num_rows($result); 26
mysql_affected_rows know how many record affected 27
mysql_affected_rows //after update mysql_affected_rows($link_identifier); 28
mysql_fetch_field get field information 29
mysql_fetch_field mysql_fetch_field(data,offset) $meta= mysql_fetch_field($result,1); echo $meta->name; echo $meta->type; 30
? Use SQL to manipulate record 31
INSERT •Insert a new record • INSERT INTO `tableName` (field1,field2,...)
Values (data1,data2...) 32
UPdate •update an exist record •UPDATE `tableName` SET field =
data, ... WHERE condition 33
DELETE •delete an exist record •DELETE FROM `table` WHERE condition
34
You can use better way 35
mysqli 36 mysql improvement
reference 37 http://www.w3schools.com/php/php_ref_mysqli.asp
practice 38 • Make a message board that users can
leave a message containing name(necessary), message and timestamp. • users can view all message and delete them.