Professional Documents
Culture Documents
com -
ﺗﻘﻨﻴﺎﺕﺍﻟﻮﻳﺐ 2
ﻗﺎﻋﺪﺓﺍﻟﺒﻴﺎﻧﺎﺕ ﻓﻲ php
Lec7
1
ﻣﺤﻤﺪ
ﺑﻲﺃﺗﺶ ﺑﻲ
2
ﻣﺎﻫﻲ MySQL؟
ﻫﻮﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻳﺴﺘﺨﺪﻡ ﻋﻠﻰ ﺍﻟﻮﻳﺐ • MySQL
-ﺍﻟﻤﻮﻇﻔﻴﻦ
-ﻣﻨﺘﺠﺎﺕ
-ﻋﻤﻼء
-ﺍﻟﻄﻠﺐ s ٪#
4
MySQLﻧﻈﺎﻡ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ PHP +
MySQLﻣﺠﺘﻤﻌﺔ ﻣﻊ • PHPﻛﺮﻭﺱ ﺑﻼﺗﻔﻮﺭﻡ.
5
ﻫﻞﻳﺠﺐ ﻋﻠﻲ ﺍﺳﺘﺨﺪﺍﻡ MySQLiﺃﻭ PDO؟
6
ﺍﺳﺘﻌﻼﻣﺎﺕﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ
7
ﺍﻟﺘﻌﺎﻣﻞﻣﻊ ﺍﻟﻨﻤﺎﺫﺝ
(POST ﻭGET) HTML • ﻧﻤﺎﺫﺝ
PHP • ﻳﺘﻢ ﺇﺭﺳﺎﻝ ﺍﻟﻨﻤﻮﺫﺝ ﺇﻟﻰ ﺑﺮﻧﺎﻣﺞ ﻧﺼﻲ
• ﻳﺘﻢ ﺗﻮﻓﻴﺮ ﺍﻟﻤﻌﻠﻮﻣﺎﺕ ﻣﻦ ﻫﺬﺍ ﺍﻟﻨﻤﻮﺫﺝ ﺗﻠﻘﺎﺉﻴﺎً ﻟﻠﻨﺺ
php .ﺃﺷﻜﺎﻝ-
8
PHP ﻟﻠﻮﺻﻮﻝﺇﻟﻰ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ
9
ﻟﻠﻮﺻﻮﻝﺇﻟﻰ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ PHP
>؟ php
؛ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ " = $ﺍﺳﻢ
ﺍﻟﻤﺴﺘﺨﺪﻡ" ؛ ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ " = $
ﻛﻠﻤﺔﺍﻟﻤﺮﻭﺭ" ؛ //ﺇﻧﺸﺎء ﺍﺗﺼﺎﻝ
"$ servername = "localhost
؛ ( $ﺍﺳﻢ ﺍﻟﺨﺎﺩﻡ ، $ﺍﺳﻢ ﺍﻟﻤﺴﺘﺨﺪﻡ ، $ﻛﻠﻤﺔ ﺍﻟﻤﺮﻭﺭ
) $ conn = mysqli_connect
//ﺗﻔﻘﺪ ﺍﻹﺗﺼﺎﻝ
ﺇﺫﺍ)! } (conn $
ﻳﻤﻮﺕ)"ﻓﺸﻞ ﺍﻻﺗﺼﺎﻝ (() mysqli_connect_error .":؛
{
ﺻﺪﻯ"ﻣﺘﺼﻞ ﺑﻨﺠﺎﺡ" ؛ ؟<
10
ﻣﻌﺎﻟﺠﺔﺍﻷﺧﻄﺎء
• ﺟﻤﻴﻊ ﺩﻭﺍﻝ _mysqlﺗﺮﺟﻊ ) NULLﺃﻭ (falseﺇﺫﺍ
ﻓﺸﻠﺖ.
11
ﺃﻣﺜﻠﺔﻋﻠﻰ ﻣﻌﺎﻟﺠﺔ ﺍﻷﺧﻄﺎء
13
ﺣﺪﺩﺍﻟﺒﻴﺎﻧﺎﺕ PHP MySQL
• ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﻋﺒﺎﺭﺓ SELECTﻟﺘﺤﺪﻳﺪ ﺍﻟﺒﻴﺎﻧﺎﺕ ﻣﻦ
ﺟﺪﻭﻝﻭﺍﺣﺪ ﺃﻭ ﺃﻛﺜﺮ
14
ﺍﻻﺳﻢ ﺍﻷﺧﻴﺮ، ﺍﻻﺳﻢ ﺍﻷﻭﻝ، ﻣﻌﺮﻑ ﺍﻟﺘﺤﺪﻳﺪMyGuests"؛
$ sql = "ﻣﻦ
؛mysqli_query )$ conn، $ sql( = $ﻧﺘﻴﺠﺔ
} (mysqli_num_rows )$ result(< 0)ﺇﺫﺍ
ﺑﻴﺎﻧﺎﺕ ﺍﻹﺧﺮﺍﺝ ﻟﻜﻞ ﺻﻒ//
while )$ row = mysqli_fetch_assoc )$ result(( }
$ ."" .[" ]"ﺍﻻﺳﻢ ﺍﻷﻭﻝrow $ . " : ﺍﺳﻢ- " .row ]"id"[ $ .":ﺻﺪﻯ"ﻣﻌﺮﻑ
<" ؛row ]"lastname"[. ">br
{
} { ﺁﺧﺮ
ﻧﺘﺎﺉﺞ" ؛0"ﺻﺪﻯ
{
mysqli_close )$ conn( ؛
15 <؟
ﺣﺪﺩﺍﻟﺒﻴﺎﻧﺎﺕ PHP MySQL
• ﺍﻟﻮﻇﻴﻔﺔﻋﺪﺩ_ﺍﻟﺼﻔﻮﻑ )(ﻳﺘﺤﻘﻖ ﻣﻤﺎ ﺇﺫﺍ ﻛﺎﻥ ﻫﻨﺎﻙ
ﺃﻛﺜﺮﻣﻦ ﺻﻔﺮ ﺻﻔﻮﻑ ﺗﻢ ﺇﺭﺟﺎﻋﻬﺎ.
16
ﺗﺸﻐﻴﻞﺍﺳﺘﻌﻼﻡ
• ﺇﺭﺟﺎﻉ mysql_queryﻣﻌﺎﻟﺠﺔ ﺍﻟﻨﺘﻴﺠﺔ
-ﺍﻟﻨﺘﻴﺠﺔ )mysql_query= $ﺍﺳﺘﻌﻼﻡ ﺩﻭﻻﺭ ،ﺍﺗﺼﺎﻝ ﺩﻭﻻﺭ(
18
MySQLﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ PHP
• ﻣﻨﺢ ﺇﻧﺸﺎء ﺧﺎﺹﺍﻻﻣﺘﻴﺎﺯﺍﺕﻹﻧﺸﺎء ﺃﻭ ﺣﺬﻑ ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ .MySQL
• ﻳﺘﻢ ﺍﺳﺘﺨﺪﺍﻡ ﻋﺒﺎﺭﺓ ﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻹﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ ﻓﻲ
.MySQL
//ﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ
} (( )mysqli_query )$ conn، $ sql؛ ﺇﺫﺍ
" myDBﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺑﻴﺎﻧﺎﺕ" = $ sql
ﺻﺪﻯ"ﺗﻢ ﺇﻧﺸﺎء ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ ﺑﻨﺠﺎﺡ" ؛ { ﺁﺧﺮ }
) ﺍﻟﺠﺪﻭﻝMyGuestsﺇﻧﺸﺎء
، INT )6( UNSIGNED AUTO_INCREMENT PRIMARY KEYﻣﻌﺮﻑ
، VARCHAR )30( NOT NULL ﺍﻻﺳﻢﺍﻷﻭﻝ
ﺍﻟﺒﺮﻳﺪ، VARCHAR )30( NOT NULL ﺍﺳﻢﺍﻟﻌﺎﺉﻠﺔ
، VARCHAR )50( ﺍﻹﻟﻜﺘﺮﻭﻧﻲ
CURRENT_TIMESTAMP ﻓﻲ ﺍﻟﺘﺤﺪﻳﺚCURRENT_TIMESTAMP
reg_date TIMESTAMPﺍﻻﻓﺘﺮﺍﺿﻲ
(
20
// sql ﻹﻧﺸﺎءﺍﻟﺠﺪﻭﻝ
$ sql = " ﺇﻧﺸﺎء ﺟﺪﻭﻝMyGuests )
، INT )6( UNSIGNED AUTO_INCREMENT PRIMARY KEYﻣﻌﺮﻑ
، VARCHAR )30( NOT NULL ﺍﻻﺳﻢﺍﻷﻭﻝ
ﺍﻟﺒﺮﻳﺪ، VARCHAR )30( NOT NULL ﺍﺳﻢﺍﻟﻌﺎﺉﻠﺔ
، VARCHAR )50( ﺍﻹﻟﻜﺘﺮﻭﻧﻲ
CURRENT_TIMESTAMP ﻓﻲ ﺍﻟﺘﺤﺪﻳﺚCURRENT_TIMESTAMP
reg_date TIMESTAMPﺍﻻﻓﺘﺮﺍﺿﻲ
( "؛
} (mysqli_query )$ conn، $ sql()ﺇﺫﺍ
} ﺑﻨﺠﺎﺡ" ؛ { ﺁﺧﺮMyGuests ﺻﺪﻯ"ﺗﻢ ﺇﻧﺸﺎء ﺟﺪﻭﻝ
22
ﺍﻹﺩﺭﺍﺝﻓﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ
MyGuests ) ﺍﻟﺒﺮﻳﺪ ﺍﻹﻟﻜﺘﺮﻭﻧﻲ، ﺍﺳﻢ ﺍﻟﻌﺎﺉﻠﺔ، (ﺍﻻﺳﻢ ﺍﻷﻭﻝ
$ sql = "INSERT INTO
'( ") ؛ ﺇﺫﺍmysqli_query )$ conn، $ sql(( }
VALUES )'John'، 'Doe'، ' john@example.com
} ﺻﺪﻯ"ﺗﻢ ﺇﻧﺸﺎء ﺳﺠﻞ ﺟﺪﻳﺪ ﺑﻨﺠﺎﺡ" ؛ { ﺁﺧﺮ
$ conn( $ .":ﺻﺪﻯ"ﺧﻄﺄ
؛sql. ">br<". mysqli_error )
{
mysqli_close )$ conn( ؛
<؟
23
ﺍﻹﺩﺭﺍﺝﻓﻲ ﻗﺎﻋﺪﺓ ﺍﻟﺒﻴﺎﻧﺎﺕ
• ﻳﺠﺐ ﺗﻨﻔﻴﺬ ﺟﻤﻞ SQLﺍﻟﻤﺘﻌﺪﺩﺓ ﺑﺎﺳﺘﺨﺪﺍﻡ(
) mysqli_multi_queryﻭﻇﻴﻔﺔ.
24
ﺃﻱﺃﺳﺉﻠﺔ؟
25