You are on page 1of 98

‫‪Machine Translated by Google‬‬

‫ﺘﻘﺪﻣ ﺔ‬
‫ﺗﻘﻨﻴﺎ ت اﻟﻮﻳ ﺐ اﻟﻤ‬

‫اﻟﻔﺼﻞ ‪2:‬‬
‫ﺑﻴﺎﻧﺎ ت ‪PHP‬‬‫ﺗﺼﺎل ﻗﺎﻋﺪة‬
‫ا‬

‫ﺘﻮراه ﻓ ﻲ‬
‫ﺘﻮر‪.‬ﻳﺤﻴﻰ إﺳﻤﺎﻋﻴﻞ اﻷﺷﻤﻮري دﻛ‬
‫دﻛ‬
‫ﺘﺮوﻧ ﻲ‪2021-2022 :‬‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ﺗﻌﺪﻳﻦ اﻟﻮﻳ ﺐ اﻟ‬
‫‪Gdyahya@gmail.com‬‬
‫‪Machine Translated by Google‬‬

‫ﻣﺎ ﻫ ﻲ ؟‪MySQL‬‬
‫ﺘﺨﺪم ﻋﲆ اﻟﻮﻳ ﺐ ‪ • MySQL‬ﻫﻮ ﻧﻈﺎم ﻗﺎﻋﺪة‬
‫ُﺴ‬‫ﺑﻴﺎﻧﺎ تﻳ‬‫‪ • MySQL‬ﻫﻮ ﻧﻈﺎم ﻗﺎﻋﺪة‬

‫ﺒﻴﺮة‬
‫ﺒﻴﻘﺎ ت اﻟﺼﻐﻴﺮة واﻟﻜ‬
‫ﺘﻄ‬‫ﺜﺎﻟ ﻲ ﻟﻜﻞ ﻣﻦ اﻟ‬
‫ﺑﻴﺎﻧﺎ تﻳﻌﻤﻞ ﻋﲆ ﺧﺎدم ‪• MySQL‬ﻣ‬

‫ﺘﺨﺪم ‪MySQL‬ﻣﻌﻴﺎر ‪MySQL‬‬


‫ﺘﺨﺪام •ﻳ ﺴ‬
‫ﺑﻪ وﺳﻬﻞ اﻻﺳ‬‫ﺛﻮق‬
‫‪• MySQL‬ﺳﺮﻳﻊ ﺟﺪًا وﻣﻮ‬
‫ﺘﺨﺪاﻣﻪ‬
‫• ‪SQL‬ﻳﺠﻤﻊ ﻋﲆ ﻋﺪد ﻣﻦ اﻷﻧﻈﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ •ﻳﻤﻜﻦﺗﻨﺰﻳﻞ ‪MySQL‬واﺳ‬

‫ﺑﻮاﺳﻄ ﺔ‬‫ﺗﻮزﻳﻌﻪ ودﻋﻤﻪ‬ ‫ﻣﺠﺎﻧًﺎ •‬


‫ﺗﻢﺗﻄﻮﻳﺮ ‪MySQL‬و‬

‫ﺷﺮﻛ ﺔ أوراﻛﻞ‬

‫‪2‬‬
‫‪Machine Translated by Google‬‬

‫ﺑﻴﺎﻧﺎ ت ‪MySQL‬‬‫ﺣﻘﺎﺋﻖ ﺣﻮل ﻗﺎﻋﺪة‬


‫ﺘﻮي ﻋﲆ‬ ‫ﺘ ﻲﺗﺤ‬‫ﺒﻴﺎﻧﺎ ت اﻟﻘﻴﺎﺳ ﻲ اﻟﻮاﻗﻌ ﻲ ﻟﻤﻮاﻗﻊ اﻟﻮﻳ ﺐ اﻟ‬‫‪ • MySQL‬ﻫﻮ ﻧﻈﺎم ﻗﺎﻋﺪة اﻟ‬
‫ﺜﻞ ‪Facebook‬و ‪Twitter‬و •‬ ‫ﺘﺨﺪﻣﻴﻦ اﻟﻨﻬﺎﺋﻴﻴﻦ )ﻣ‬ ‫ﺒﻴﺎﻧﺎ ت واﻟﻤ ﺴ‬‫ﻛﻤﻴﺎ ت ﻫﺎﺋﻠ ﺔ ﻣﻦ اﻟ‬

‫ﺒﻴﻘﺎ ت‬
‫‪Wikipedia).‬ﻣﻴﺰة أﺧﺮى راﺋﻌ ﺔ ﻓ ﻲ ‪ MySQL‬ﻫ ﻲ أﻧﻪﻳﻤﻜﻦﺗﺼﻐﻴﺮ ﻫﺎ ﻟﺪﻋﻢﺗﻄ‬

‫ﺒﺮ اﻷﻧﻈﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ‬


‫ﺗﻌﺪ ‪PHP‬ﻣﺪﻣﺠ ﺔ ﻣﻊ ‪MySQL‬ﻋ‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻀﻤﻨ ﺔ‪• .‬‬
‫ﻗﻮاﻋﺪ اﻟ‬

‫ﺘﻄﻮﻳﺮ ﻓ ﻲ ‪Windows‬واﻟﻌﻤﻞ ﻋﲆ ﻧﻈﺎم أﺳﺎﺳ ﻲ‬


‫)ﻳﻤﻜﻨﻚ اﻟ‬
‫‪Unix ) • https://www.mysql.com/‬‬

‫‪3‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫‪PHP‬وﻗﺎﻋﺪة اﻟ‬

‫•‬ ‫ﺘﻮح اﻟﻤﺼﺪر ﺷﺎﺋﻊ‬


‫ﺑﻴﺎﻧﺎ ت ﻣﻔ‬‫ﺴﻜﻞإدارة ﻗﺎﻋﺪة‬
‫ﻣﻴﻧﻈﺎم‬
‫‪-‬‬

‫•‬ ‫ﺘﺮﻧ ﺖ‬
‫ﺒﻜ ﺔ اﻹﻧ‬
‫ﻣﻊ ﻋﲆ ﺷ‬
‫ﺒﻴﺎﻧﺎ ت‬
‫ﻟﻘﺎﻋﺪةﻲ اﻟ‬
‫ﻋﺎدة‬
‫ﺴﻜﻞ‬ ‫ﻳﻌﻤﻞ‬
‫ﺑ‬
‫ﻣﻴ‬
‫ﺗﺶ‬‫ﺑ ﻲأ‬

‫ﺒﻴﻘﺎ ت‬
‫ﺘﻄ‬‫اﻟ‬

‫•‬ ‫ﺘﺨﺪم‬
‫ﺘ ﻲﺗ ﺴ‬
‫ﺘﻨﺪة إﱃ اﻟﻮﻳ ﺐ اﻟ‬
‫ﺒﻴﻘﺎ ت اﻟﻤ ﺴ‬
‫ﺘﻄ‬‫‪WampServer‬اﻟ‬
‫ﺒﻴﻘﺎ ت —‬
‫ﺘﻄ‬‫اﻟ‬

‫و‬ ‫و‬ ‫ﺲ‬‫ﺗﺸ ﻲ‬


‫ﺴﻜﻞ‬ ‫ﺑﺎ‬
‫ا‬
‫ﻟﻴﻨﻮﻛ‬
‫ﻣﻴ‬
‫و‬
‫ﺜﻮن‬
‫ﺑﻴ‬‫و‪php /‬ﻟﺆﻟﺆة ‪/‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﻮﻳﺎ ت ﻣﻮﺟﻬ ﺔ ﻟﻠﻮﻳ ﺐ‬


‫ﺑﻨﻴ ﺔ ﻧﻤﻮذﺟﻴ ﺔ ﻣﻦ ‪3‬ﻣ ﺴ‬
‫‪Machine Translated by Google‬‬

‫ﺘﻮﻳﺎ ت ﻣﻮﺟﻬ ﺔ ﻟﻠﻮﻳ ﺐ‪ :‬اﻷدوا ت‬


‫ﺛﻴ ﺔ اﻟﻤ ﺴ‬
‫ﺛﻼ‬‫ﺑﻨﻴ ﺔ‬
‫ﺘﻘﻨﻴﺎ ت‬
‫واﻟ‬

‫ﺒﺮﻣﺠ ﺔ اﻟﻨﺼﻴ ﺔ ﻣﻦ ﺟﺎﻧ ﺐ اﻟﻌﻤﻴﻞ‬


‫ﺘﺼﻔﺢ ‪ /‬اﻟﻌﻤﻴﻞ اﻟﻤﺨﺼﺺ ‪ ،‬اﻟ‬
‫ﺒﻘ ﺔ اﻟﻌﺮض ‪-‬اﻟﻤ‬
‫‪o‬ﻃ‬

‫ﺒﻴﻘﺎ ت ﺻﻐﻴﺮة‪.‬‬
‫ﺒ ﺖ ‪VBScript ،‬وﻣﺎ إﱃ ذﻟﻚ( ‪،‬ﺗﻄ‬
‫ﺒ ﺖ ‪ ،‬أﻛﺸﻦﺳﻜﺮﻳ‬
‫)ﺟﺎﻓﺎﺳﻜﺮﻳ‬

‫ﺒﻘ ﺔ اﻟﻤﻨﻄﻘﻴ ﺔ ‪-‬ﺧﺎدم اﻟﻮﻳ ﺐ ‪(Apache‬و ‪IIS‬و ‪Websphere‬وﻣﺎ إﱃ ذﻟﻚ( ؛‬


‫‪o‬اﻟﻄ‬

‫ﺒﺮﻣﺠ ﺔ ‪( Java ،‬‬


‫ﺒﺮﻣﺠ ﺔ ‪(PHP ، Perl‬وﻏﻴﺮ ﻫﺎ( ‪ ،‬ﻟﻐﺎ ت اﻟ‬
‫ﻟﻐﺎ ت اﻟ‬

‫ﺒﻴﻘﺎ ت ‪(Ruby on Rails‬إﻟﺦ‪(.‬‬


‫ﺘﻄ‬‫‪C ، C #‬إﻟﺦ( ‪ ،‬أﻃﺮ اﻟ‬

‫ﺒﻴﺎﻧﺎ ت ‪(DBMS) (Oracle ،‬‬


‫ﺒﻴﺎﻧﺎ ت ‪-‬ﻧﻈﺎم إدارة ﻗﻮاﻋﺪ اﻟ‬
‫ﺒﻘ ﺔ اﻟ‬
‫‪o‬ﻃ‬

‫‪MySQL‬و ‪SQL Server‬و ‪DB2‬وﻣﺎ إﱃ ذﻟﻚ( و ‪XMLDB‬‬


‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‪:‬‬
‫ﺑﺮة ‪ /‬اﻟ‬
‫ﺜﺎ‬
‫ﺒﻘ ﺔ اﻟﻤ‬
‫‪MySQL‬ﻓ ﻲ ﻃ‬
‫‪MySQL‬‬

‫ﺘﻮح )اﻟﻌﻼﺋﻘﻴ ﺔ(‬


‫ﺑﻴﺎﻧﺎ ت اﻟﻤﺼﺪر اﻟﻤﻔ‬‫‪o‬ﺧﺎدم ﻗﺎﻋﺪة‬

‫‪-‬ﻳﻌﻤﻞ ﻋﲆ اﻟﻌﺪﻳﺪ ﻣﻦ اﻟﻤﻨﺼﺎ ت )ﻳﻮﻧﻜ ﺲ ووﻳﻨﺪوز(‬

‫ﺜﻞ ‪MS Access.‬‬


‫ﺘﺨﺪم رﺳﻮﻣﻴ ﺔ راﺋﻌ ﺔ ﻣ‬
‫ﺒﻜ ﺔ ‪-‬ﻻﺗﻮﺟﺪ واﺟﻬ ﺔ ﻣ ﺴ‬
‫ﺑﺎﻟﺸ‬‫ﺘﺼﻞ‬
‫‪o‬ﺧﺎدم ﻣ‬

‫ﺜﻞ‬
‫ﻣ‬ ‫ﺜﻮر‬
‫اﻟﻌاﻟ‬
‫)‪phpMyAdmin‬‬
‫ﺘﻲ‬ ‫ﺬي ‪-‬‬‫ﺘﻚ‬
‫ﺜﻞ اﻟ‬
‫ﺘﻄﺎﻋ‬
‫ﻋﻤﻼء )ﻣ‬
‫ﺑﺎﺳ‬‫‪-‬‬

‫ﺘﺨﺪم اﻟﺮﺳﻮﻣﻴ ﺔ‪.‬‬


‫ﺗﻮﻓﻴﺮ واﺟﻬ ﺔ اﻟﻤ ﺴ‬

‫ﺒﻴﺮة اﻟﺤﺠﻢ ‪(ebay ،‬‬


‫ﺘﻮﺳﻄ ﺔ واﻟﻜ‬
‫ﺒﻴﻘﺎ ت اﻟﺼﻐﻴﺮة واﻟﻤ‬
‫ﺘﻄ‬‫‪o‬راﺋﻊ ﻟﻠ‬

‫ﺘﻔﻴﺪون ﻣﻨﻪ(‬
‫ﺒﻮك وﻣﺎ إﱃ ذﻟﻚ ‪ ،‬ﻓﺠﻤﻴﻌﻬﻢﻳ ﺴ‬
‫أﻣﺎزون وﻓﻴ ﺴ‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت ‪:‬‬
‫ﺑﺮة ‪ /‬اﻟ‬
‫ﺜﺎ‬
‫ﺒﻘ ﺔ اﻟﻤ‬
‫‪MySQL‬ﻓ ﻲ ﻃ‬

‫ﻧﻘﺎط ﻗﻮة ‪MySQL‬‬

‫ﺘﺠﺎرﻳ ﺔ أو ﻣﻨﺨﻔﻀ ﺔ‬
‫ﺒﻴﺎﻧﺎ ت اﻟ‬
‫ﺑﻞ ﻗﻮاﻋﺪ اﻟ‬
‫‪o‬ﻣﻌﺎﻳﻴﺮ ﻋﺎﻟﻴ ﺔ اﻷداء ﺟﻴﺪة ﺟﺪًا ﻣﻘﺎ‬
‫ﺘﻌﻠﻢ‬
‫ﺘﻜﻮﻳﻦ واﻟ‬
‫ﺘﻮح اﻟﻤﺼﺪر ‪o‬ﺳﻬﻠ ﺔ اﻟ‬
‫ﺑﻤﻮﺟ ﺐﺗﺮﺧﻴﺺ ﻣﻔ‬ ‫ﺑﺪونﺗﻜﻠﻔ ﺔ‬ ‫ﺘﻜﻠﻔ ﺔ و‬
‫اﻟ‬
‫ﺘﻮاﻓﻘ ﺔ ﻣﻊ ‪SQL oPortable‬‬‫ﺳﻬﻠ ﺔ اﻹﻋﺪاد وﻣ‬

‫إﺻﺪارا ت ‪Linux‬و ‪Unix‬و ‪o Open Source Code‬‬


‫ﺘﻌﺪﻳﻞ‬
‫ﺘﺎﺣ ﺔ ﻟﻠ‬
‫‪Windows‬ﻣ‬
‫‪Machine Translated by Google‬‬

‫‪phpMyAdmin‬‬
‫ﺑﻠﻐ ﺔ ‪PHP‬‬‫ﺘﻮ ب‬
‫‪o‬ﻋﻤﻴﻞ ‪MySQL‬ﻣﻜ‬

‫ﺘﺼﻔﺢﻳﻤﻜﻨﻚ‪:‬‬
‫ﺒﺮ ﻣ‬
‫‪o‬ﻋ‬

‫ﺒﻴﺎﻧﺎ ت‬
‫‪o‬إدارة ﻗﻮاﻋﺪ اﻟ‬

‫ﺘﺨﺪﻣ ﻲ ‪MySQL‬‬
‫‪o‬إدارة ﻣ ﺴ‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت ‪،‬ﺗﺼﻔﺢ اﻟ‬
‫‪o‬إﻧﺸﺎء اﻟﺠﺪاول ‪ ،‬إﺿﺎﻓ ﺔ ‪/‬ﺗﻌﺪﻳﻞ ‪ /‬ﺣﺬف اﻟ‬

‫ﺘﻌﻼﻣﺎ ت )‪(SQL‬‬
‫‪o‬إرﺳﺎل اﻻﺳ‬

‫ﺘﺼﺪﻳﺮ‬
‫ﺘﻴﺮاد واﻟ‬
‫‪o‬ﺟﺪاول اﻻﺳ‬
‫‪o phpMyAdmin @ localhost: http: // localhost / phpmyadmin‬‬
‫‪Machine Translated by Google‬‬

‫واﺟﻬ ﺔ ‪phpMyAdmin:‬‬

‫ﺗﻌﻠﻴﻤﺎ ت ‪phpmyadmin‬‬
‫ﻣ ﺴﺎﻋﺪة ‪MySQL‬‬
‫ﺒﻞ‬
‫ﺣﺎﻟ ﺔ دﻳ ﺴﻴ‬ ‫ﺘﺨﺪﻣﻴﻦ‬
‫ادارة اﻟﻤ ﺴ‬
‫ﺜﻘ ﺔ‬
‫ﺒ‬‫ﻧﺎﻓﺬة ‪SQL‬اﻟﻤﻨ‬

‫ﺋﻴ ﺴﻴ ﺔ‬
‫اﻟﺼﻔﺤ ﺔ اﻟﺮ‬

‫ﺘﻴﺮاد‬
‫ﺑﻴﺎﻧﺎ ت اﻻﺳ‬

‫ﺒﻞ‬
‫ﺗﺼﺪﻳﺮ دﻳ ﺴﻴ‬

‫ﺑﻴﺎﻧﺎ ت‬‫ﻗﻮاﻋﺪ‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫اﻟﺨﻄﻮا ت اﻷﺳﺎﺳﻴ ﺔ ﻟﻤﻌﺎﻟﺠ ﺔ ﻗﺎﻋﺪة اﻟ‬

‫ﺒ ﺖ ﻋﻠﻴﻪ ‪MySQL‬‬
‫ﺜ‬‫ﺑﺎﻟﺨﺎدم اﻟﻤﻀﻴﻒ اﻟﻤ‬‫ﺗﺼﺎل‬
‫‪1.‬اﻻ‬

‫ﺑﻴﺎﻧﺎ ت‬‫‪2.‬ﺣﺪد ﻗﺎﻋﺪة‬

‫ﺗﻜﻮﻳﻦ ﺟﻤﻠ ﺔ ‪SQL‬‬


‫‪3.‬‬

‫ﺑﺈرﺟﺎعﺳﺠﻞ‬‫ﺘﻴﺎرﻳًﺎ( ﻗﻢ‬
‫ﺒﺎرة ‪SQL‬و )اﺧ‬
‫ﺘﻨﻔﻴﺬ ﻋ‬
‫ﺑ‬‫‪4.‬ﻗﻢ‬

‫ﺟﻠ ﺲ‬

‫ﺘﺨﺪام ‪php‬‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﻣﺠﻤﻮﻋ ﺔ اﻟ ﺴﺠﻼ ت‬
‫ﺘﺨﺮاج اﻟ‬
‫‪5.‬اﺳ‬

‫ﺛﻴﻖ‬
‫ﺗﺼﺎل و‬
‫‪6.‬ا‬
‫‪Machine Translated by Google‬‬

‫ﺑﺨﺎدم ‪MySQL‬‬
‫ﺑـ ‪PHP‬‬‫ﺗﺼﻞ‬
‫ا‬

‫ﺑﺨﺎدم ‪MySql:‬‬‫ﺗﺼﺎل‬
‫ﺛﻼ ث ﺧﻄﻮا ت ﻟﻼ‬
‫•‬

‫ﺗﺼﺎﻻ ً‬
‫ﺑﺨﺎدم ‪MySQL‬‬ ‫ﺘﺢ ا‬
‫•اﻓ‬

‫ﺘﻼﻋ ﺐ ﻓ ﻲ ﺧﺎدم ‪MySql‬‬


‫•اﻟ‬

‫ﺗﺼﺎل‬
‫•إﻏﻼق اﻻ‬
‫‪Machine Translated by Google‬‬

‫ﺑـ ‪MySQL‬‬
‫ﺑـ ‪PHP‬‬‫ﺗﺼﻞ‬
‫ا‬
‫ﺑﻴﺎﻧﺎ ت ‪MySQL‬‬‫•ﻳﻤﻜﻦ أنﺗﻌﻤﻞ ‪PHP 5‬واﻹﺻﺪارا ت اﻷﺣﺪ ث ﻣﻊ ﻗﺎﻋﺪة‬

‫ﺘﺨﺪام‪:‬‬
‫اﺳ‬

‫•ﻣﻠﺤﻖ ‪)MySQLi‬اﻟﺤﺮف "‪"i‬ﻳﻌﻨ ﻲ ﻣﺤ ﺴ ًﻨﺎ(‬

‫ﺑﻴﺎﻧﺎ ت )‪PHP‬‬‫‪)• PDO‬ﻛﺎﺋﻨﺎ ت‬

‫ﺘﺪاد ‪MySQL.‬‬
‫ﺑﻘ ﺔ ﻣﻦ ‪PHP‬اﻣ‬
‫ﺘﺨﺪﻣ ﺖ اﻹﺻﺪارا ت اﻟ ﺴﺎ‬
‫•اﺳ‬

‫ﺘﺪاد ﻓ ﻲ ﻋﺎم ‪2012.‬‬


‫وﻣﻊ ذﻟﻚ ‪،‬ﺗﻢ إ ﻫﻤﺎل ﻫﺬا اﻻﻣ‬

‫‪13‬‬
‫‪Machine Translated by Google‬‬

‫ﺑﺔ‬
‫ﺑﺤﺎﺟ ﺔ إﱃ إﺟﺎ‬‫ﺘﺨﺪام ‪MySQLi‬أو • ؟‪PDO‬إذا ﻛﻨ ﺖ‬
‫ﻫﻞﻳﺠ ﺐ ﻋﻠ ﻲ اﺳ‬
‫ﺑﻤﺰاﻳﺎ ﻫﺎ‪• :‬‬
‫ﺘﻊ ﻛﻞ ﻣﻦ ‪MySQLi‬و ‪PDO‬‬ ‫ﺘﻤ‬ ‫ﺗ‬‫ﺘﻜﻮن "أﻳًﺎ ﻣﺎﺗﺮﻳﺪ"‪• .‬‬
‫ﻗﺼﻴﺮة ‪ ،‬ﻓ ﺴ‬
‫ﺑﻴﻨﻤﺎﺗﻌﻤﻞ ‪MySQLi‬‬ ‫ﺘﻠ ًﻔﺎ ﻟﻘﻮاﻋﺪ اﻟ‬
‫ﺒﻴﺎﻧﺎ ت ‪،‬‬ ‫ﻧﻈﺎﻣﺎ ﻣﺨ‬
‫ً‬ ‫ﺘﻌﻤﻞ ‪PDO‬ﻋﲆ ‪12‬‬ ‫ﺳ‬
‫ﺒﺪﻳﻞ ﻣﺸﺮوﻋﻚ‬ ‫ﺑﻴﺎﻧﺎ ت • ‪MySQL.‬ﻟﺬﻟﻚ ‪ ،‬إذا ﻛﺎن ﻋﻠﻴﻚﺗ‬‫ﻓﻘﻂ ﻣﻊ ﻗﻮاﻋﺪ‬
‫ﺗﺠﻌﻞ اﻟﻌﻤﻠﻴ ﺔﺳﻬﻠ ﺔ‪ .‬ﻣﺎ ﻋﻠﻴﻚﺳﻮى‬
‫ﺑﻴﺎﻧﺎ ت أﺧﺮى ‪ ،‬ﻓﺈن ‪PDO‬‬ ‫ﺘﺨﺪام ﻗﺎﻋﺪة‬
‫ﻻﺳ‬
‫ﺘﺎج إﱃ‬ ‫ﺘﺤ‬ ‫ﺘﺨﺪام ‪MySQLi ،‬ﺳ‬ ‫ﺑﺎﺳ‬ ‫ﺘﻔ ﺴﺎرا ت‪.‬‬ ‫ﺑﻌﺾ اﻻﺳ‬ ‫ﺗﺼﺎل و‬ ‫ﺗﻐﻴﻴﺮﺳﻠ ﺴﻠ ﺔ اﻻ‬
‫ﺘﻌﻼﻣﺎ ت اﻟﻤﻀﻤﻨ ﺔ‪• .‬ﻛﻼ ﻫﻤﺎ ﻣﻮﺟﻬﺎن ﻟﻠﻜﺎﺋﻨﺎ ت ‪،‬‬ ‫ﺑﺎﻟﻜﺎﻣﻞ ‪-‬اﻻﺳ‬ ‫ﺑ ﺔ اﻟﻜﻮد‬‫ﺘﺎ‬
‫إﻋﺎدة ﻛ‬
‫ﺗﻘﺪم أ ً‬
‫ﻳﻀﺎ إﺟﺮاءا ت إﺟﺮاﺋﻴ ﺔ‬ ‫ﻟﻜﻦ ‪MySQLi‬‬

‫‪API.‬‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻣﻦ ﺣﻘﻦ ‪SQL ،‬و ﻫ ﻲ ﻣﻬﻤ ﺔ ﺟﺪًاﻷﻣﺎن‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة‪.‬ﺗﺤﻤ ﻲ اﻟ‬
‫•ﻛﻼ ﻫﻤﺎﻳﺪﻋﻢ اﻟ‬
‫ﺒﻴﻘﺎ ت اﻟﻮﻳ ﺐ‪.‬‬
‫ﺗﻄ‬

‫‪14‬‬
Machine Translated by Google

PDO ‫ﺑﺮاﻣﺞﺗﺸﻐﻴﻞ‬

PDO: ‫ﺒﻴﻖ واﺟﻬ ﺔ‬


‫ﺘﻄ‬‫ﺑ‬‫ﺘﺎﻟﻴ ﺔ ﺣﺎﻟ ًﻴﺎ‬
‫ﺘﺸﻐﻴﻞ اﻟ‬
‫ﺑﺮاﻣﺞ اﻟ‬‫ﺗﻘﻮم‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﺪﻋﻮﻣ ﺔ‬
‫ﻗﻮاﻋﺪﺴﺎاﻟ‬
‫ﺋﻖ‬ ‫اﺳﻢ اﻟ‬

‫ﺑﺮﻳﺪ‬
‫ ﻛﻮ‬PDO_CUBRID

FreeTDS / Microsoft SQL Server / Sybase PDO_DBLIB

PDO_FIREBIRD ‫ﺑﻴﺮد‬
‫ﻓﺎﻳﺮ‬

PDO_IBM IBM DB2


PDO_INFORMIX Server MySQL 3.x / 4.x / 5.x ‫ﺧﺎدم‬

PDO_MYSQL ‫ﺗﺼﺎل‬
‫واﺟﻬ ﺔ ا‬IBM Informix Dynamic

PDO_OCI ‫أوراﻛﻞ‬

PDO_ODBC win32 ODBC) ‫و‬unixODBC ‫و‬ODBC v3 (IBM DB2


PDO_PGSQL PostgreSQL
PDO_SQLITE 2‫ﺘ ﻲ‬
‫وﺳﻜﻠﻴ‬3 ‫ﺘ ﻲ‬
‫ﺳﻜﻠﻴ‬

PDO_SQLSRV Microsoft SQL Server / SQL Azure

PDO_4D ‫د‬4
15
‫‪Machine Translated by Google‬‬

‫ﺗﺼﺎﻻ ً‬
‫ﺑﺨﺎدم ‪MySQL‬‬ ‫ﺘﺢ ا‬
‫اﻓ‬

‫ﺘﺨﺪم ‪ ،‬ﻛﻠﻤ ﺔ اﻟﻤﺮور ‪ ،‬؛ )‪dbname‬‬


‫‪)mysqli_connect‬اﻟﻤﻀﻴﻒ ‪ ،‬اﺳﻢ اﻟﻤ ﺴ‬

‫ﺘﺢ‬
‫ﺒﻴﺎﻧﺎ ت ‪،‬ﻳﺠ ﺐ أن ﻧﻔ‬
‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﻗﺎﻋﺪة اﻟ‬
‫ﺘﻤﻜﻦ ﻣﻦ اﻟﻮﺻﻮل إﱃ اﻟ‬
‫ﺒﻞ أن ﻧ‬
‫•ﻗ‬

‫ﺑﺨﺎدم ‪MySQL.‬‬‫ﺗﺼﺎل‬
‫ا‬

‫ﻣﻌﺎﻣﻞ‬ ‫ﺘﻴﺎري‪.‬‬
‫ﺘﻴﺎري‪ .‬إﻣﺎ اﺳﻢ ﻣﻀﻴﻒ أو ﻋﻨﻮان ‪IP‬اﺧ‬
‫اﻟﻮﺻﻒ اﺧ‬
‫ﻣﻀﻴﻒ‬ ‫ﺒﻴﺎﻧﺎ ت‬
‫ﺘﻴﺎري‪ .‬ﻗﺎﻋﺪة اﻟ‬
‫ﺘﺨﺪام اﺧ‬
‫ﺑﺎﺳ‬‫ﺘ ﺴﺠﻴﻞ اﻟﺪﺧﻮل‬
‫ﺘﻴﺎري‪ .‬ﻛﻠﻤ ﺔ اﻟﻤﺮور ﻟ‬
‫ﺘﺨﺪم ‪MySQL‬اﺧ‬
‫اﺳﻢ ﻣ ﺴ‬

‫ﺘﺨﺪم‬
‫اﺳﻢ ااﻟﻤ ﺴ‬ ‫ﺘﻌﻼﻣﺎ ت‬
‫ﺘﺨﺪاﻣﻬﺎ ﻋﻨﺪ إﺟﺮاء اﻻﺳ‬
‫ﺘﻢ اﺳ‬
‫ﺘ ﻲﺳﻴ‬
‫ﺘﺮاﺿﻴ ﺔ اﻟ‬
‫اﻻﻓ‬

‫ﻛﻠﻤﻪ اﻟ ﺴﺮ‬

‫‪dbname‬‬
Machine Translated by Google

MySQLi) ‫ﺜﺎل )إﺟﺮاءا ت‬


‫ﻣ‬
‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
conecct_db3.php
$ username، $ password، $ Dname)‫ﺗﺼﺎل ؛‬ ‫ ؛ "" =إﻧﺸﺎء ا‬$ Dname = "mydb" ‫ ؛‬//
$ conn = mysqli_connect ($ servername،

())‫ ؛‬.":‫ﺗﺼﺎل‬
‫ !()"ﻓﺸﻞ اﻻ‬$ conn) {die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
//
mysqli_connect_error

mysqli_close ($ conn) ‫ﺑﻨﺠﺎح"؛ >؟ ؛‬‫ﺘﺼﻞ‬


‫} ﺻﺪى "ﻣ‬

17
Machine Translated by Google

Object-Oriented) <‫ ؟‬php $ servername = "localhost"‫ﺜﺎل ؛‬ ‫ﻣ‬


= "mydb" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬‫(اﺳﻢ اﻟﻤ ﺴ‬MySQLi
= "" ‫ ؛‬$ Dname
conecct_db.php

username، $ password، $ Dname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬


‫إﻧﺸﺎء ا‬//
($ conn-> connect_error) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername، $
()‫ﺑﻨﺠﺎح"؛ >؟ ؛‬‫ﺘﺼﻞ‬
‫ ﺻﺪى "ﻣ‬$ conn-> connect_error) ‫ } ؛‬.":‫ﺗﺼﺎل‬
‫)"ﻓﺸﻞ اﻻ‬
$ conn-> close

18
(PDO) ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬ connect_PDO.php


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
dbname = $ Dname"، $ username، $ password)‫ ؛‬// ‫ ؛ "" =ﺟﺮ ب‬$ Dname = "mydb" ‫؛‬
‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{$ conn = new PDO ("mysql: host = $ servername‫؛‬
$ conn-> setAttribute (PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫؛‬
{ ‫ﺑﻨﺠﺎح" ؛‬‫ﺘﺼﻞ‬
‫ﺻﺪى "ﻣ‬

() ‫ } ؛‬conn = null‫ >؟ ؛‬.":‫ﺗﺼﺎل‬


‫"ﻓﺸﻞ اﻻ‬catch (PDOException $ e) { echo
$ e-> getMessage

19
Machine Translated by Google

‫ﺗﺼﺎل‬
‫ﺑﺈﻏﻼق ا‬‫ﻗﻢ‬

‫ﺗﺼﺎلﺗﻠﻘﺎﺋ ًﻴﺎ‬
‫ﺘﻢ إﻏﻼق اﻻ‬
‫•ﺳﻴ‬

‫ﺗﺼﺎل‬
‫ ﻹﻏﻼق اﻻ‬.‫ﺘﻬ ﻲ اﻟﻨﺺ‬
‫ﻋﻨﺪﻣﺎﻳﻨ‬

mysqli_close (): ‫ﺘﺨﺪم اﻟﺪاﻟ ﺔ‬


‫ اﺳ‬، ‫ﺒﻞ ذﻟﻚ‬
‫ﻗ‬

-> close () ‫ ؛‬Connection_name =


connection_name
‫ﺧﺎﻟﻴ ﺔ ؛‬mysqli_close (connection_name)
Machine Translated by Google

MySQL ‫ﺑﻴﺎﻧﺎ ت‬‫ﺑﺈﻧﺸﺎء ﻗﺎﻋﺪة‬‫ﻗﻢ‬

PDO ‫و‬MySQLi ‫ﺘﺨﺪام‬


‫اﺳ‬

21
‫‪Machine Translated by Google‬‬

‫ﺑﻴﺎﻧﺎ ت‬‫أﻧﺸ ﺊ ﻗﺎﻋﺪة‬

‫ﺒﺎرة ‪CREATE DATABASE‬ﻹﻧﺸﺎء ﻣﻠﻒ‬


‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ‪MySQL.‬‬
‫ﺟﺪول ﻗﺎﻋﺪة اﻟ‬

‫ﺑﻴﺎﻧﺎ ت إﱃ ﻣﻠﻒ‬‫ﺒﺎرة إﻧﺸﺎء ﻗﺎﻋﺪة‬


‫•ﻳﺠ ﺐ أن ﻧﻀﻴﻒ ﻋ‬

‫ﺘﻨﻔﻴﺬ اﻷﻣﺮ‪.‬‬
‫)( ‪mysqli_query‬وﻇﻴﻔ ﺔ ﻟ‬

‫ﺑﺎﺳﻢ ‪"my_db":‬‬‫ﺑﻴﺎﻧﺎ ت‬‫ﺘﺎﻟ ﻲ ﻗﺎﻋﺪة‬


‫ﺜﺎل اﻟ‬
‫•ﻳﻨﺸ ﺊ اﻟﻤ‬
Machine Translated by Google

‫ﺑﻴﺎﻧﺎ ت‬‫أﻧﺸ ﺊ ﻗﺎﻋﺪة‬


‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
($ servername، $ username، $ password) ‫ ؛‬// ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬// ‫دوﻻر‬
create_dbs.php
($ conn-> connect_error) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = new mysqli
$ conn-> connect_error) ‫ } ؛‬.":‫ﺗﺼﺎل‬
‫)"ﻓﺸﻞ اﻻ‬

conn-> query ($ sql)) { echo ‫ﺑﻴﺎﻧﺎ ت‬‫"إﻧﺸﺎء ﻗﺎﻋﺪة‬$ sql = ‫ﺑﻴﺎﻧﺎ ت‬‫إﻧﺸﺎء ﻗﺎﻋﺪة‬//

{. $ conn-> error‫ }؛‬echo ‫ﺑﻨﺠﺎح" ؛{ آﺧﺮ‬‫ﺒﻴﺎﻧﺎ ت‬


‫ﺗﻢ إﻧﺸﺎء ﻗﺎﻋﺪة اﻟ‬
"MyDB" ‫ ؛‬if ($
mysqli_close ($ conn)‫" >؟ ؛‬:‫ﺒﻴﺎﻧﺎ ت‬
‫"ﺧﻄﺄ ﻓ ﻲ إﻧﺸﺎء ﻗﺎﻋﺪة اﻟ‬

23
Machine Translated by Google

‫ ؟<اﺳﻢ‬php $ servername = "localhost"‫(اﻹﺟﺮاﺋﻴ ﺔ( ؛‬MySQLi ‫ﺑﻴﺎﻧﺎ ت‬‫ﺜﺎل ﻗﺎﻋﺪة‬


‫ﺑﺈﻧﺸﺎء ﻣ‬‫ﻗﻢ‬
$ username، $ password) ‫ ؛‬// ‫ﺗﺼﺎل‬ ‫ ؛ "" =إﻧﺸﺎء ا‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬
‫اﻟﻤ ﺴ‬
create_dbs2.php
‫ !()"ﻓﺸﻞ‬$ conn) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬ $ conn = mysqli_connect ($ servername،
mysqli_connect_error ()) ‫ }؛‬.":‫ﺗﺼﺎل‬
‫اﻻ‬

if (mysqli_query ($ conn، $ sql)) { echo ‫ﺑﻴﺎﻧﺎ ت‬‫"إﻧﺸﺎء ﻗﺎﻋﺪة‬$ sql = ‫ﺑﻴﺎﻧﺎ ت‬‫إﻧﺸﺎء ﻗﺎﻋﺪة‬//

‫ { ﺻﺪى "ﺧﻄﺄ ﻓ ﻲ‬. mysqli_error ($ conn) ‫ﺑﻨﺠﺎح"؛ { آﺧﺮ } ؛‬‫ﺒﻴﺎﻧﺎ ت‬


‫ﺗﻢ إﻧﺸﺎء ﻗﺎﻋﺪة اﻟ‬
"myDB" ‫؛‬
" mysqli_close ($ conn)‫ >؟ ؛‬:‫ﺑﻴﺎﻧﺎ ت‬‫إﻧﺸﺎء ﻗﺎﻋﺪة‬
‫ﺑﺎﺳﻢ‬‫ﺑﻴﺎﻧﺎ ت‬‫ﺘﺎﻟ ﻲ ﻹﻧﺸﺎء ﻗﺎﻋﺪة‬
‫اﻟ‬PDO ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

"myDBPDO":
"" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
= new PDO ("mysql: host = $ servername"، $ username، $ password)‫=ﺟﺮ ب ؛‬
create_DB_PDO3.php
{$ conn

$ sql = ‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
//
(PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫؛‬
> exec ($ sql) ‫ﺑﻴﺎﻧﺎ ت ؛‬‫"إﻧﺸﺎء ﻗﺎﻋﺪة‬$ conn-> setAttribute
null‫ﺑﻨﺠﺎح >؟ ؛‬‫ﺒﻴﺎﻧﺎ ت‬
‫ﺗﻢ إﻧﺸﺎء ﻗﺎﻋﺪة اﻟ‬
" ‫ ﺻﺪى‬myDBPDO"‫ ؛‬$ conn-
$ e) {echo $ sql. "<br>". $ e-> getMessage () ‫ } ؛‬conn =
<br>" ‫ } ؛‬catch (PDOException

25
Machine Translated by Google

MySQL ‫أﻧﺸ ﺊ ﺟﺪول‬


PDO ‫و‬MySQLi ‫ﺘﺨﺪام‬
‫اﺳ‬

26
‫‪Machine Translated by Google‬‬

‫ﺑﺈﻧﺸﺎء ﺟﺪول‬‫ﻗﻢ‬

‫ﺘﻨ ﺴﻴﻖ‬
‫ﺑ‬‫ﺒﺎرة ‪CREATE TABLE‬ﻹﻧﺸﺎء ﺟﺪول‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫‪MySQL.‬‬
‫ﺑﻴﺎن ‪CREATE TABLE‬إﱃ‬‫•ﻳﺠ ﺐ أن ﻧﻀﻴﻒ‬

‫ﺘﻨﻔﻴﺬ اﻷﻣﺮ‪.‬‬
‫)( ‪mysqli_query‬وﻇﻴﻔ ﺔ ﻟ‬
‫‪Machine Translated by Google‬‬

‫ﺘﻠﻘﺎﺋﻴ ﺔ‬
‫ﺗﻴﺢ اﻷﺳﺎﺳﻴ ﺔ وﺣﻘﻮل اﻟﺰﻳﺎدة اﻟ‬
‫اﻟﻤﻔﺎ‬

‫ﺘﺎح أﺳﺎﺳ ﻲ‪.‬‬


‫ﺒﻴﺎﻧﺎ ت ﻋﲆ ﺣﻘﻞ ﻣﻔ‬
‫ﺘﻮي ﺟﺪول ‪ach‬ﻓ ﻲ ﻗﺎﻋﺪة اﻟ‬
‫•ﻳﺠ ﺐ أنﻳﺤ‬

‫ﺑﺸﻜﻞ ﻓﺮﻳﺪ‪ .‬ﻛﻞ‬‫ﺘﻌﺮﻳﻒ اﻟﺼﻔﻮف ﻓ ﻲ اﻟﺠﺪول‬


‫ﺘﺎح أﺳﺎﺳ ﻲ ﻟ‬
‫ﺘﺨﺪام ﻣﻔ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺘﺎح اﻷﺳﺎﺳ ﻲ ﻓﺮﻳﺪة داﺧﻞ اﻟﺠﺪول‪ .‬ﻋﻼوة ﻋﲆ ذﻟﻚ ‪ ،‬ﻓﺈن‬


‫ﻳﺠ ﺐ أنﺗﻜﻮن ﻗﻴﻤ ﺔ اﻟﻤﻔ‬

‫ﺘﻄﻠ ﺐ‬
‫ﺒﻴﺎﻧﺎ تﻳ‬ ‫ً‬
‫ﻓﺎرﻏﺎﻷن ﻣﺸﻐﻞ ﻗﺎﻋﺪة اﻟ‬ ‫ﺘﺎح اﻷﺳﺎﺳ ﻲ‬
‫ﻻﻳﻤﻜﻦ أنﻳﻜﻮن ﺣﻘﻞ اﻟﻤﻔ‬

‫ﺘﺤﺪﻳﺪ ﻣﻮﻗﻊ اﻟ ﺴﺠﻞ‪.‬‬


‫ﻗﻴﻤ ﺔ ﻟ‬

‫ﺘﺎح اﻷﺳﺎﺳ ﻲ‪ .‬ال‬


‫ﺘﺎﻟ ﻲ ﺣﻘﻞ ‪PID‬ﻛﺤﻘﻞ اﻟﻤﻔ‬
‫ﺜﺎل اﻟ‬
‫ّﻴ ﻦ اﻟﻤ‬
‫•ﻳﻌ‬

‫ﺘﺨﺪاﻣﻪ ﻣﻊ‬
‫ﺘﻢ اﺳ‬
‫ﺒﺎ ﻣﺎﻳ‬
‫ﺒﺎرة ﻋﻦ رﻗﻢ ﻣﻌﺮف ‪ ،‬وﻏﺎﻟ ً‬
‫ﺘﺎح اﻷﺳﺎﺳ ﻲ ﻋ‬
‫ﺒﺎ ﻣﺎﻳﻜﻮن ﺣﻘﻞ اﻟﻤﻔ‬
‫ﻏﺎﻟ ً‬

‫ﺗﻠﻘﺎﺋ ًﻴﺎ‬
‫إﻋﺪاد ‪AUTO_INCREMENT. AUTO_INCREMENT‬‬

‫ﺘﻢ ﻓﻴﻬﺎ إﺿﺎﻓ ﺔﺳﺠﻞ ﺟﺪﻳﺪ‪ .‬ل‬


‫ﺑﻤﻘﺪار ‪1‬ﻓ ﻲ ﻛﻞ ﻣﺮةﻳ‬‫ﻳﺰﻳﺪ ﻣﻦ ﻗﻴﻤ ﺔ اﻟﺤﻘﻞ‬

‫ً‬
‫ﻓﺎرﻏﺎ ‪،‬ﻳﺠ ﺐ أن ﻧﻀﻴﻒ ‪NOT‬‬ ‫ﺘﺎح اﻷﺳﺎﺳ ﻲ ﻻﻳﻤﻜﻦ أنﻳﻜﻮن‬
‫ﺗﺄﻛﺪ ﻣﻦ أن ﺣﻘﻞ اﻟﻤﻔ‬

‫اﻹﻋﺪاد ‪NULL‬ﻟﻠﻤﻴﺪان‪:‬‬
‫‪Machine Translated by Google‬‬

‫ﺘﺨﺪام ‪MySQLi‬و ‪PDO‬‬


‫ﺑﺎﺳ‬
‫أﻧﺸ ﺊ ﺟﺪول ‪MySQL‬‬

‫ﺒﺎرة ‪CREATE TABLE‬ﻹﻧﺸﺎء ﺟﺪول ﻓ ﻲ ‪MySQL.‬‬


‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫ﻳ‬

‫ﺑﺨﻤ ﺴ ﺔ أﻋﻤﺪة‪"id" ، :‬‬ ‫ﺳﻨﻨﺸ ﺊ ﺟﺪوﻻ ً‬


‫ﺑﺎﺳﻢ ‪"MyGuests" ،‬‬

‫ﺘ ﺴﺠﻴﻞ"‪:‬‬
‫ﺗﺎرﻳﺦ اﻟ‬
‫ﺘﺮوﻧ ﻲ" و "‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫"اﻻﺳﻢ اﻷول" و "اﻻﺳﻢ اﻷﺧﻴﺮ" و "اﻟ‬

‫إﻧﺸﺎء ‪MyGuests‬اﻟﺠﺪول (‬

‫ﻣﻌﺮف ‪INT (6) UNSIGNED AUTO_INCREMENT PRIMARY KEY ،‬‬

‫اﻻﺳﻢ اﻷول ‪VARCHAR (30) NOT NULL ،‬‬

‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ ‪VARCHAR (30) NOT NULL ،‬‬

‫ﺘﺮوﻧ ﻲ ‪VARCHAR (50) ،‬‬


‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬

‫‪reg_date TIMESTAMP‬‬

‫)‬
Machine Translated by Google

= "localhost"‫ﻛﺎﺋﻨ ﻲ اﻟﻤﻨﺤﻰ ؛‬MySQLi ‫ﺘﺨﺪام‬ ‫ﺑﺎﺳ‬‫ﺑﺈﻧﺸﺎء ﺟﺪول‬‫ﻗﻢ‬


‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬ ‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername
‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬ ‫إﻧﺸﺎء ا‬create_table_OO_MyGuests.php
= "" ‫ ؛‬$ dbname = "myDB3" ‫ ؛‬//
‫ﺗﺤﻘﻖ ﻣﻦ‬ ($ servername، $ username، $ password، $ dbname)‫ ؛‬//
conn-> connect_error) {. $ conn-> connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬ ‫اﻻ‬
sql = "CREATE TABLE MyGuests ‫ "ﻹﻧﺸﺎء ﺟﺪول‬// sql :‫ﺗﺼﺎل‬ ‫()"ﻓﺸﻞ اﻻ‬$
PRIMARY KEY ، VARCHAR (30) NOT NULL ، ‫) ﻣﻌﺮف‬$
( 30) NOT NULL ، ‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬INT (6) UNSIGNED AUTO_INCREMENT
VARCHAR (50) ، reg_date TIMESTAMP) "‫ﺘﺮوﻧ ﻲ ؛‬ ‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬VARCHAR
Machine Translated by Google

MySQLi Object-oriented ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺑﺈﻧﺸﺎء ﺟﺪول‬‫ﻗﻢ‬

($ conn-> query ($ sql) === TRUE) { echo "Table MyGuests


‫ { ﺻﺪى "ﺧﻄﺄ ﻓ ﻲ إﻧﺸﺎء‬. conn-> error‫ﺑﻨﺠﺎح"؛ { آﺧﺮ ؛‬‫ﺗﻢ إﻧﺸﺎؤه‬
if
" :‫اﻟﺠﺪول‬

> close ()‫>؟ ؛‬


$ conn-
Procedural <‫ ؟‬php $ servername = "localhost"‫ﺘﺨﺪام ؛‬ ‫ﺑﺎﺳ‬‫ﺑﺈﻧﺸﺎء ﺟﺪول‬ ‫ﻗﻢ‬
Machine Translated by Google

$ dbname = "myDB" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫اﺳﻢ اﻟﻤ ﺴ‬MySQLi
servername، $ username، $ password، create_table_Procd_MyGuests.php
$ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬ ‫؛ "" =إﻧﺸﺎء ا‬
‫ !()"ﻓﺸﻞ‬$ conn) {die ‫ﺗﺼﺎل إذا‬‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬ $ conn = mysqli_connect ($
TABLE MyGuests ‫ﻹﻧﺸﺎء ﺟﺪول‬mysqli_connect_error ()) ‫ }؛‬// sql .":‫ﺗﺼﺎل‬ ‫اﻻ‬
KEY ، firstname VARCHAR (30) NOT NULL ، ‫) ﻣﻌﺮف‬$ sql = "CREATE
NOT NULL ، ‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬INT (6) UNSIGNED AUTO_INCREMENT PRIMARY
VARCHAR (50) ، reg_date TIMESTAMP) "‫ﺘﺮوﻧ ﻲ ؛‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬VARCHAR (30)

32
Machine Translated by Google

MySQLi Procedural ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺑﺈﻧﺸﺎء ﺟﺪول‬‫ﻗﻢ‬
create_table_Procd_MyGuests.php
‫ﺗﻢ إﻧﺸﺎؤه‬
if (mysqli_query ($ conn، $ sql)) { echo "Table MyGuests
" :‫ { ﺻﺪى "ﺧﻄﺄ ﻓ ﻲ إﻧﺸﺎء اﻟﺠﺪول‬. mysqli_error ($ conn) ‫ﺑﻨﺠﺎح"؛ { آﺧﺮ ؛‬

($ conn) ‫>؟ ؛‬
mysqli_close

33
Machine Translated by Google

PDO ‫ﺘﺨﺪام‬ ً ‫أﻧﺸ ﺊ ﺟﺪوﻻ‬


‫ﺑﺎﺳ‬

‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
create_table_PDO_MyGuests.php
= $ dbname"، $ username، $ password)‫ ؛‬// ‫ ؛ "" =ﺟﺮ ب‬$ dbname = "myDBPDO" ‫؛‬
‫إﱃ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{ $ conn = new PDO ("mysql: host = $ servername‫ ؛‬dbname
PDO :: ERRMODE_EXCEPTION) ‫ ؛‬$ sql = "CREATE TABLE MyGuests ‫ﺜﻨﺎء‬
‫ﺘ‬‫اﻻﺳ‬
PRIMARY KEY ، ‫) ﻣﻌﺮف‬$ conn-> setAttribute (PDO :: ATTR_ERRMODE،
VARCHAR (30) NOT NULL ، ‫اﻻﺳﻢ اﻷول‬INT (6) UNSIGNED AUTO_INCREMENT
(50) ، reg_date TIMESTAMP)" ‫ﺘﺮوﻧ ﻲ ؛‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬VARCHAR (30) NOT NULL ، Lastname
VARCHAR

34
Machine Translated by Google

PDO ‫ﺘﺨﺪام‬ ً ‫أﻧﺸ ﺊ ﺟﺪوﻻ‬


‫ﺑﺎﺳ‬

conn-> exec ($ sql)‫ﺘﺎﺋﺞ ؛‬


‫ﺘﻢ إرﺟﺎع أي ﻧ‬
‫ﻷﻧﻪ ﻟﻢﻳ‬// use exec ()
{ ‫ﺑﻨﺠﺎح" ؛‬
MyGuests ‫ﺗﻢ إﻧﺸﺎء ﺟﺪول‬
" ‫ ﺻﺪى‬$

PDO $ e) ‫ﺜﻨﺎء‬
‫ﺘ‬‫)اﺳ‬catch
"<br>". $ e-> getMessage () ‫} ﺻﺪى } ؛‬
$ sql.

= null ‫>؟ ؛‬
$ conn

35
Machine Translated by Google

MySQL ‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ‬
‫أدﺧﻞ اﻟ‬
PDO ‫و‬MySQLi ‫ﺘﺨﺪام‬
‫اﺳ‬

36
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ‪MySQL‬‬
‫‪PHP‬أدﺧﻞ اﻟ‬

‫ﺑﻴﺎﻧﺎ ت وﺟﺪول‬‫ﺑﻌﺪ وﺟﻮد ﻗﺎﻋﺪة‬


‫•‬
‫ﺒﻴﺎﻧﺎ ت ﻓﻴﻬﺎ‪.‬‬
‫ﺒﺪء ﻓ ﻲ إﺿﺎﻓ ﺔ اﻟ‬
‫ﺗﻢ إﻧﺸﺎؤ ﻫﺎ ‪،‬ﻳﻤﻜﻨﻨﺎ اﻟ‬

‫ﺒﺎﻋﻬﺎ‪:‬‬
‫ﺗ‬‫ﺘ ﻲﻳﺠ ﺐ ا‬
‫ﺑﻨﺎء اﻟﺠﻤﻠ ﺔ اﻟ‬‫ﺑﻌﺾ ﻗﻮاﻋﺪ‬‫•ﻓﻴﻤﺎﻳﻠ ﻲ‬
‫ﺑﻠﻐ ﺔ ‪PHP‬‬
‫ﺘﻌﻼم ‪SQL‬‬
‫ﺒﺎس اﺳ‬
‫ﺘ‬‫‪-‬ﻳﺠ ﺐ اﻗ‬
‫ﺘﻌﻼم ‪SQL‬‬
‫ﺑﻴﻦ ﻗﻴﻢ اﻟ ﺴﻠ ﺴﻠ ﺔ داﺧﻞ اﺳ‬‫ﺒﺎس‬
‫ﺘ‬‫‪-‬ﻳﺠ ﺐ وﺿﻊ ﻋﻼﻣﺎ ت اﻗ‬
‫‪-‬ﻳﺠ ﺐ ﻋﺪم ذﻛﺮ اﻟﻘﻴﻢ اﻟﺮﻗﻤﻴ ﺔ‬
‫‪-‬ﻳﺠ ﺐ ﻋﺪم ذﻛﺮ ﻛﻠﻤ ﺔ ‪NULL‬‬
‫ﺒﺎرة ‪INSERT INTO‬ﻟﻺﺿﺎﻓ ﺔ‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺳﺠﻼ ت ﺟﺪﻳﺪة ﻓ ﻲ ﺟﺪول ‪MySQL:‬‬

‫‪37‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﺟﺪول ﻗﺎﻋﺪة اﻟ‬
‫أدﺧﻞ اﻟ‬

‫ﺑ ﺔ ﺟﻤﻠ ﺔ ‪INSERT INTO‬ﻓ ﻲ ﻗ ﺴﻤﻴﻦ‬


‫ﺘﺎ‬
‫•ﻣﻦ اﻟﻤﻤﻜﻦ ﻛ‬

‫ﻧﻤﺎذج‪:‬‬

‫•اﻟﻨﻤﻮذج اﻷول ﻻﻳﺤﺪد أﺳﻤﺎء اﻷﻋﻤﺪة ﺣﻴ ﺚ‬

‫ﺒﻴﺎﻧﺎ ت ‪ ،‬ﻓﻘﻂ ﻗﻴﻤﻬﺎ‪:‬‬


‫ﺘﻢ إدراج اﻟ‬
‫ﺳﻴ‬

‫)‪INSERT INTO table_name VALUES (value1، value2، value3، ...‬‬

‫ﺜﺎﻧ ﻲ ﻛ ﻼ ً ﻣﻦ أﺳﻤﺎء اﻷﻋﻤﺪة و‬


‫•ﻳﺤﺪد اﻟﻨﻤﻮذج اﻟ‬
‫اﻟﻘﻴﻢ اﻟﻤﺮاد إدراﺟﻬﺎ‪:‬‬

‫أدﺧﻞ اﺳﻢ_اﻟﺠﺪول )اﻟﻌﻤﻮد ‪1 ،‬اﻟﻌﻤﻮد ‪2 ،‬اﻟﻌﻤﻮد )‪3 ، ...‬‬


‫اﻟﻘﻴﻢ )ﻗﻴﻤ ﺔ ‪1 ،‬ﻗﻴﻤ ﺔ ‪2 ،‬ﻗﻴﻤ ﺔ )‪3 ، ...‬‬
Machine Translated by Google

‫ﺘﺎﻟﻴ ﺔﺗﻀﻴﻒ‬ ‫ﺜﻠ ﺔ اﻟ‬


‫اﻷﻣ‬MySQLi Object-oriented ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫أدﺧﻞ اﻟ‬
‫"اﺳﻢ‬MyGuests": <‫ ؟‬php $ servername = "localhost"‫ﺳﺠ ﻼ ً ﺟﺪﻳﺪًا إﱃ ﺟﺪول ؛‬
‫ ؛ "" =إﻧﺸﺎء‬$ dbname = "myDB" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬
‫اﻟﻤ ﺴ‬
Inser_data_OO_MyGuest.php
$ username، $ password، $ dbname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬ ‫ا‬
{. $ conn-> connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername،
$ sql = "INSERT INTO MyGuests ":‫ﺗﺼﺎل‬
‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error)
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫)اﻻﺳﻢ اﻷول واﻻﺳﻢ اﻷﺧﻴﺮ واﻟ‬

> query ($ sql) === TRUE) { ‫'(إذا‬John'، 'Doe'، 'john@example.com') "‫اﻟﻘﻴﻢ ؛‬


($ conn-
" $ conn-> close ()‫ >؟ ؛‬. ‫ﺑﻨﺠﺎح" ؛‬‫ﺗﻢ إﻧﺸﺎءﺳﺠﻞ ﺟﺪﻳﺪ‬" ‫ﺻﺪى‬
$ sql. "<br>". $ conn-> error‫ }}؛‬else {echo "Error:
39
Machine Translated by Google

‫ﺘﺎﻟﻴ ﺔﺗﻀﻴﻒﺳﺠ ﻼ ً ﺟﺪﻳﺪًا إﱃ‬‫ﺜﻠ ﺔ اﻟ‬


‫اﻷﻣ‬MySQLi MySQLi Procedural ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫أدﺧﻞ اﻟ‬
‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ‬$ = ‫ﺘﺨﺪم‬‫"اﺳﻢ اﻟﻤ ﺴ‬MyGuests": <‫ ؟‬php $ servername = "localhost"‫ﺟﺪول ؛‬
username، $ password، $ dbname) ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname = "myDB" ‫ ؛‬// ‫ﻣﺮور دوﻻر‬
$ conn = Insert_data_Prod_MyGuest.php
mysqli_connect ($ servername، $

$ sql = "INSERT INTO MyGuests .":‫ﺗﺼﺎل‬


‫ !()"ﻓﺸﻞ اﻻ‬$ conn) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
//
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﻻﺳﻢ اﻷﺧﻴﺮ‬، ‫)اﻻﺳﻢ اﻷول‬mysqli_connect_error ()) ‫}؛‬

'Doe'، 'john@example.com') "‫ ؛‬if (mysqli_query ($ conn، $ sql)) { echo"


($ conn)‫ }؛‬mysqli_close ($ conn)‫ﺑﻨﺠﺎح >؟؛‬‫ﺗﻢ إﻧﺸﺎءﺳﺠﻞ ﺟﺪﻳﺪ‬
VALUES ('John'،
"‫ } ؛‬else {echo" Error: ". $ sql. "<br>". mysqli_error

40
Machine Translated by Google

MySQLi MySQLi Procedural ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫أدﺧﻞ اﻟ‬
"MyGuests": ‫ﺘﺎﻟﻴ ﺔﺳﺠ ﻼ ً ﺟﺪﻳﺪًا إﱃ ﺟﺪول‬
‫ﺜﻠ ﺔ اﻟ‬
‫ﺗﻀﻴﻒ اﻷﻣ‬
"" ‫ ؛‬$ dbname = "myDBPDO" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
Inser_data_PDO_MyGues.php
= new PDO ("mysql: host = $ servername‫ ؛‬dbname = $ dbname"، $ username، $ password)‫ ؛‬// ‫=ﺟﺮ ب‬
PDO :: ERRMODE_EXCEPTION) ‫ ؛‬$ sql = "INSERT INTO MyGuests ‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{ $ conn
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫)اﻻﺳﻢ اﻷول‬$ conn-> setAttribute (PDO :: ATTR_ERRMODE،

> exec ($ sql) ‫ﺘﺎﺋﺞ ؛‬


‫ﺘﻢ إرﺟﺎع أي ﻧ‬
‫ﻷﻧﻪ ﻟﻢﻳ‬exec () ‫ﺘﺨﺪم‬
‫اﺳ‬VALUES ('John'، 'Doe'، 'john@example.com') "‫ ؛‬//
$ e) {echo $ sql. "<br>". $ e-> getMessage ()‫ }؛‬$ conn = null‫ﺑﻨﺠﺎح >؟؛‬‫ ﺻﺪى"ﺗﻢ إﻧﺸﺎءﺳﺠﻞ ﺟﺪﻳﺪ‬$ conn-
"‫ }؛‬catch (PDOException

41
Machine Translated by Google

‫ﺑﻴﺎﻧﺎ ت‬‫ﺑﻴﺎﻧﺎ ت ﻣﻦ ﻧﻤﻮذج إﱃ ﻗﺎﻋﺪة‬‫أدﺧﻞ‬

‫ﺘﺨﺪاﻣﻪ ﻟﻺﺿﺎﻓ ﺔ‬
‫ﻳﻤﻜﻦ اﺳ‬HTML ‫ﺑﺈﻧﺸﺎء ﻧﻤﻮذج‬‫•ﺳﻨﻘﻮم اﻵن‬
."‫ﺳﺠﻼ ت ﺟﺪﻳﺪة ﻟﺠﺪول "اﻷﺷﺨﺎص‬

:‫اﻻﺳﻢ اﻷول‬html> <body> <form action = "insert.php" method = "post">

"text" name = "lastname"> :‫<اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬input type = "text" name = "firstname">
= "age"> <input type = "submit"> </form> </body> </html> :‫<اﻟﻌﻤﺮ‬input type =
<input type = "text" name
‫‪Machine Translated by Google‬‬

‫ﺑﻴﺎﻧﺎ ت‬‫ﺑﻴﺎﻧﺎ ت ﻣﻦ ﻧﻤﻮذج إﱃ ﻗﺎﻋﺪة‬‫أدﺧﻞ‬

‫ﺘﻨ ﺴﻴﻖ‬
‫ﺑ‬‫ﺘﺨﺪم ﻋﲆ زر اﻹرﺳﺎل ﻓ ﻲ ﻧﻤﻮذج ‪HTML‬‬
‫•ﻋﻨﺪﻣﺎﻳﻨﻘﺮ اﻟﻤ ﺴ‬

‫ﺑﻴﺎﻧﺎ ت اﻟﻨﻤﻮذج إﱃ ‪"insert.php".‬‬‫ﺘﻢ إرﺳﺎل‬


‫ﺜﺎل أﻋﻼه ‪،‬ﻳ‬
‫ﻓ ﻲ اﻟﻤ‬

‫ﺘﺮﺟﺎع ﻣﻠﻔﺎ ت‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت وﻳﻘﻮم‬
‫ﺑﻘﺎﻋﺪة اﻟ‬
‫ﺘﺼﻞ ﻣﻠﻒ "‪"insert.php‬‬
‫•ﻳ‬

‫ﺘﻐﻴﺮا ت ‪PHP $ _POST.‬‬


‫اﻟﻘﻴﻢ ﻣﻦ اﻟﻨﻤﻮذج ﻣﻊ اﻟﻤ‬

‫ﺘﻨﻔﻴﺬ ‪INSERT‬‬
‫ﺑ‬‫ﺑﻌﺪ ذﻟﻚ ‪،‬ﺗﻘﻮم داﻟ ﺔ )( ‪mysqli_query‬‬
‫•‬

‫ﺘﻢ إﺿﺎﻓ ﺔ رﻗﻢ ﻗﻴﺎﺳ ﻲ ﺟﺪﻳﺪ إﱃ‬


‫ﺑﻴﺎن ‪INTO ،‬وﺳﻴ‬

‫ﺟﺪول "اﻷﺷﺨﺎص"‪.‬‬
Machine Translated by Google

‫ﺑﻴﺎﻧﺎ ت‬‫ﺑﻴﺎﻧﺎ ت ﻣﻦ ﻧﻤﻮذج إﱃ ﻗﺎﻋﺪة‬‫أدﺧﻞ‬

insert.php
php \ $ con = mysqli_connect ("example.com"، "peter"، "abc123"، "my_db")‫ ؛‬//
() ، } ‫ﺑـ‬‫ﺗﺼﺎل‬
‫("ﻓﺸﻞ اﻻ‬mysqli_connect_errno ()) {echo ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
<‫؟‬
MySQL:". mysqli_connect_error

(‫ اﻟﻌﻤﺮ‬، ‫ اﻻﺳﻢ اﻷﺧﻴﺮ‬، ‫"إدراج اﻷﺷﺨﺎص )اﻻﺳﻢ اﻷول‬$ sql =


‫اﻟﻘﻴﻢ‬

('$ _POST [firstname]'، '$ _ POST [lastname]'، '$ _ POST [age]') "‫؛‬

sql)) {die ('Error:'. mysqli_error ())‫} ؛‬


($ con)
‫ ﺻﺪى‬if
‫ >!(؟ ؛‬mysqli_query
‫إﺿﺎﻓ ﺔﺳﺠﻞ واﺣﺪ" ؛‬
($ con،
‫ﺗﻤ ﺖ‬$"
mysqli_close
‫‪Machine Translated by Google‬‬

‫‪PHP MySQL‬اﺣﺼﻞ ﻋﲆ آﺧﺮ ﻣﻌﺮفﺗﻢ إدراﺟﻪ‬

‫اﺣﺼﻞ ﻋﲆ ﻣﻌﺮف آﺧﺮﺳﺠﻞﺗﻢ إدراﺟﻪ‬

‫ﺑﺈﺟﺮاء ‪INSERT‬أو ‪UPDATE‬ﻋﲆ ﺟﺪول ﻣﻊ ﺣﻘﻞ ‪AUTO_INCREMENT ،‬‬‫إذا ﻗﻤﻨﺎ‬


‫ﺜﻪ ﻋﲆ اﻟﻔﻮر‪.‬‬
‫ﻓﻴﻤﻜﻨﻨﺎ اﻟﺤﺼﻮل ﻋﲆ ﻣﻌﺮف آﺧﺮﺳﺠﻞﺗﻢ إدﺧﺎﻟﻪ ‪/‬ﺗﺤﺪﻳ‬

‫ﻓ ﻲ اﻟﺠﺪول ‪"MyGuests" ،‬ﻳﻜﻮن ﻋﻤﻮد "‪ "id‬ﻫﻮ ﻣﻠﻒ‬


‫ﺣﻘﻞ ‪AUTO_INCREMENT:‬‬

‫‪45‬‬
‫‪Machine Translated by Google‬‬

‫‪PHP MySQL‬اﺣﺼﻞ ﻋﲆ آﺧﺮ ﻣﻌﺮفﺗﻢ إدراﺟﻪ‬

‫ﺜﻠ ﺔ‬
‫ﺘﺎﻟﻴ ﺔﺗ ﺴﺎوي اﻷﻣ‬
‫ﺜﻠ ﺔ اﻟ‬
‫اﻷﻣ‬

‫ﺑﻘ ﺔ ‪(PHP Insert Data Into‬‬


‫ﻣﻦ اﻟﺼﻔﺤ ﺔ اﻟ ﺴﺎ‬

‫ﺜﻨﺎء أﻧﻨﺎ أﺿﻔﻨﺎﺳﻄ ًﺮا واﺣﺪًا‬


‫ﺘ‬‫ﺑﺎﺳ‬
‫‪MySQL) ،‬‬

‫ﺘﺮداد ﻣﻌﺮف آﺧﺮﺳﺠﻞﺗﻢ إدراﺟﻪ‪.‬‬


‫ﻣﻦ اﻟﻜﻮد ﻻﺳ‬

‫ﻧﻜﺮر أ ً‬
‫ﻳﻀﺎ آﺧﺮ ﻣﻌﺮفﺗﻢ إدﺧﺎﻟﻪ‪:‬‬

‫‪46‬‬
Machine Translated by Google

‫اﺣﺼﻞ ﻋﲆ آﺧﺮ ﻣﻌﺮفﺗﻢ إدراﺟﻪ‬PHP MySQL


MySQLi) ‫ﺜﺎل )ﻣﻮﺟﻪ ﻧﺤﻮ ﻛﺎﺋﻨﺎ ت‬
‫ﻣ‬
= "localhost"‫ ؛‬$ username = “root”‫ ؛‬$ password = ""‫ ؛‬$ dbname = "myDB"‫ ؛‬//
mysqli ($ servername، $ username، $ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬
‫ ؟<إﻧﺸﺎء ا‬php $ servername
:‫ﺗﺼﺎل‬
‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = new
‫ اﻻﺳﻢ‬، ‫ ")اﻻﺳﻢ اﻷول‬. $ conn-> connect_error) ‫ }؛‬$ sql = "INSERT INTO MyGuests
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫اﻷﺧﻴﺮ‬

"‫ ؛‬if ($ conn-> query ($ sql) === TRUE) {$ last_id = $ conn-> insert_id‫ ؛‬echo "
‫ آﺧﺮ ﻣﻌﺮف‬.‫ﺑﻨﺠﺎح‬‫ﺳﺠﻞ ﺟﺪﻳﺪﺗﻢ إﻧﺸﺎؤ ﻫﺎ‬VALUES ('John'، 'Doe'، 'john@example.com')
{ echo " Error: " . $ sql. " <br> " . $ conn-> error‫ }؛‬$ conn-> close ()‫ >؟ ؛‬:‫ﺗﻢ إدﺧﺎﻟﻪ ﻫﻮ‬
" . $ last_id‫ } ؛‬else

47
Machine Translated by Google

‫اﺣﺼﻞ ﻋﲆ آﺧﺮ ﻣﻌﺮفﺗﻢ إدراﺟﻪ‬PHP MySQL


$ = ‫ﺘﺨﺪم" ؛ ﻛﻠﻤ ﺔ اﻟﻤﺮور‬
‫"اﺳﻢ اﻟﻤ ﺴ‬$ = ‫ﺘﺨﺪم‬
MySQLi) ‫ﺜﺎل )إﺟﺮاءا ت‬
‫ﻣ‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
username، $ password، $ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬
‫إﻧﺸﺎء ا‬$ dbname = "myDB" ‫ ؛‬// ‫"ﻛﻠﻤ ﺔ اﻟﻤﺮور" ؛‬
‫ !()"ﻓﺸﻞ‬$ conn) { die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = mysqli_connect ($ servername، $
‫ اﺳﻢ‬، ‫ ")اﻻﺳﻢ اﻷول‬. mysqli_connect_error ())‫ } ؛‬$ sql = "INSERT INTO MyGuests :‫ﺗﺼﺎل‬
‫اﻻ‬
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫اﻟﻌﺎﺋﻠ ﺔ‬

(mysqli_query ($ conn، $ sql)) {$ last_id = mysqli_insert_id ($ conn)‫؛‬. $ last_id‫ ؛‬echo "


‫ آﺧﺮ ﻣﻌﺮفﺗﻢ‬.‫ﺑﻨﺠﺎح‬‫ﺗﻢ إﻧﺸﺎءﺳﺠﻞ ﺟﺪﻳﺪ‬
VALUES ('John'، 'Doe'، 'john@example.com') "‫ ؛‬if
sql. " <br> " . mysqli_error ($ conn)‫ }؛‬echo " Error: " mysqli_close ($ conn)‫ >؟ ؛‬:‫إدﺧﺎﻟﻪ ﻫﻮ‬
" } else { . $

48
Machine Translated by Google

‫اﺣﺼﻞ ﻋﲆ آﺧﺮ ﻣﻌﺮفﺗﻢ إدراﺟﻪ‬PHP MySQL


‫"ﻛﻠﻤ ﺔ اﻟﻤﺮور" ؛‬$ = ‫ﺘﺨﺪم" ؛ ﻛﻠﻤ ﺔ اﻟﻤﺮور‬
‫"اﺳﻢ اﻟﻤ ﺴ‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
PDO ‫ﺜﺎل‬
servername‫ ؛‬dbname = $ dbname"، $ username، $ password)‫ ؛‬// ‫ﺟﺮ ب‬$ dbname = "myDBPDO" ‫؛‬ ‫ﻣ‬
= "INSERT INTO MyGuests ‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{$ conn = new PDO ("mysql: host = $
، ‫)اﻻﺳﻢ اﻷول‬$ conn-> setAttribute (PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫ ؛‬$ sql
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬

last_id‫ ؛‬echo ‫ﺘﺎﺋﺞ‬


‫ﺘﻢ إرﺟﺎع أي ﻧ‬
‫ﻷﻧﻪ ﻟﻢﻳ‬exec () ‫ﺘﺨﺪم‬
‫اﺳ‬VALUES ('John'، 'Doe'، 'john@example.com') "‫ ؛‬//
‫ آﺧﺮ ﻣﻌﺮفﺗﻢ‬.‫ﺑﻨﺠﺎح‬‫ﺗﻢ إﻧﺸﺎءﺳﺠﻞ ﺟﺪﻳﺪ‬
"$ conn-> exec ($ sql)‫ ؛‬$ last_id = $ conn-> lastInsertId ( )‫؛‬. $
catch (PDOException $ e) { echo $ sql. " <br> " . $ e-> getMessage ()‫ }؛‬$ conn = null‫ >؟ ؛‬:‫إدﺧﺎﻟﻪ ﻫﻮ‬
"}

49
Machine Translated by Google

‫ﺒﻴﺎﻧﺎ ت ﻣﻦ أ‬
‫ﺣﺪد اﻟ‬

MySQL ‫ﺑﻴﺎﻧﺎ ت‬‫ﻗﺎﻋﺪة‬

50
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﺟﺪول ﻗﺎﻋﺪة اﻟ‬
‫ﺣﺪد اﻟ‬

‫ﺣﺪد اﺳﻢ )أﺳﻤﺎء( اﻟﻌﻤﻮد ﻣﻦ اﺳﻢ_اﻟﺠﺪول‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺘﺤﺪﻳﺪ اﻟ‬
‫ﺒﺎرة ‪SELECT‬ﻟ‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬
‫ﺑﻴﺎﻧﺎ ت‪.‬‬‫ﻣﻦ ﻗﺎﻋﺪة‬

‫= ‪"$ select_st‬ﺣﺪد *ﻣﻦ ؛ "‪table_name‬‬


‫‪Machine Translated by Google‬‬

‫ﺘﻨﻔﻴﺬ ﺟﻤﻠ ﺔ ‪SQL‬‬


‫ﺑ‬‫ﻗﻢ‬

‫ﺗﺼﺎل ‪sql_statment) ،‬‬


‫ﺘﺪﻋﺎء ‪)mysqli_query‬اﺳﻢ اﻻ‬
‫اﺳ‬

‫ﺘﺨﺪﻣﻬﺎ‬
‫ﺒﺎرة أﻋﻼه ‪،‬ﻳﺠ ﺐ أن ﻧ ﺴ‬
‫ﺗﻨﻔﺬ اﻟﻌ‬
‫•ﻟﺠﻌﻞ ‪PHP‬‬

‫ﺘﺨﺪم ﻫﺬه اﻟﻮﻇﻴﻔ ﺔ ﻟﻺرﺳﺎل‬


‫ﺗﺴ‬‫داﻟ ﺔ ‪mysqli_query ().‬‬

‫ﺗﺼﺎل ‪MySQL.‬‬
‫ﺘﻌﻼم أو أﻣﺮ ﻻ‬
‫اﺳ‬
Machine Translated by Google

‫اﻟﻤﻮﺟﻬ ﺔ ﻟﻠﻜﺎﺋﻨﺎ ت‬MySQLi ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﺪد اﻟ‬
= "myDB" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬ select_data_OO_MyGuest.php
‫اﻟﻤ ﺴ‬ ‫ ؟<اﺳﻢ‬php $ servername = "localhost"‫؛‬
username، $ password، $ dbname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬ ‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname
> connect_error) { . $ conn-> connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername، $
$ result = $ conn-> query ($ sql)‫ ؛‬if ($ result-> num_rows> 0) {// ":‫ﺗﺼﺎل‬
‫()"ﻓﺸﻞ اﻻ‬$ conn-
[" ‫ﺑﻴﻨﻤﺎ‬‫ﺑﻴﺎﻧﺎ ت اﻹﺧﺮاج ﻟﻜﻞ ﺻﻒ‬ $ sql = "SELECT id، firstname، lastname FROM MyGuests"‫؛‬
‫(اﺳﻢ‬$ row = $ result-> fetch_assoc ()) { . $ row ["id"]. ". $ row [" firstname "]." ". $ row
" :‫]" ﺻﺪى" ﻣﻌﺮف‬. ‫اﻟﻌﺎﺋﻠ ﺔ‬

" :‫اﺳﻢ‬-

$ conn-> close ()‫>؟؛‬


else {echo "0 results"‫}؛‬
"<br>" ‫}} ؛‬
53
Machine Translated by Google

54
Machine Translated by Google

‫اﻟﻤﻮﺟﻬ ﺔ ﻟﻠﻜﺎﺋﻨﺎ ت‬MySQLi ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﺪد اﻟ‬

$ username = “root”‫ ؛‬$ passwordselect_data_OO2_MyGuest.php


= ""‫ ؛‬$ dbname = "myDB"‫ ؛‬//
$ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬ ‫ ؟<إﻧﺸﺎء ا‬php $ servername = "localhost"‫؛‬
‫ﺗﺼﺎل‬ ‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬ $ conn = new mysqli ($ servername، $ username،
> query ($ sql) ‫ ؛‬:‫ﺗﺼﺎل‬ ‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error) { die ‫إذا‬
id، firstname، lastname FROM MyGuests"‫ ؛‬$ result = $ conn-
Name </th> </tr>"‫ "إذا ؛‬. $ conn-> connect_error) ‫ }؛‬$ sql = "SELECT
($ result-> num_rows> 0) { echo "<table> <tr> <th> ID </th> <th>

55
Machine Translated by Google

‫اﻟﻤﻮﺟﻬ ﺔ ﻟﻠﻜﺎﺋﻨﺎ ت‬MySQLi ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﺪد اﻟ‬
select_data_OO2_MyGuest.php
{ echo "<tr> <td>" . $ row ["id"]. "</td> <td>" . $ row ‫ﺑﻴﻨﻤﺎ‬‫ﺑﻴﺎﻧﺎ ت اﻹﺧﺮاج ﻟﻜﻞ ﺻﻒ‬
//
" " .["‫(]"اﻻﺳﻢ اﻷول‬$ row = $ result-> fetch_assoc ())
.
$ row ["lastname"]. "</td> </tr>" ‫؛‬
results"‫} ﺻﺪى ؛‬
else { echo "0
"</table>"‫} ؛‬

conn-> close () $‫>؟ ؛‬


}

56
Machine Translated by Google

= “root”‫ ؛‬$ password = ""‫ ؛‬$ dbname = "myDB"‫ ؛‬// ‫ﺘﺨﺪام‬ ‫ﺑﺎﺳ‬ ‫ﺒﻴﺎﻧﺎ ت‬
‫ﺣﺪد اﻟ‬
‫إﻧﺸﺎء‬MySQLi Procedural <‫ ؟‬php $ servername = "localhost"‫ ؛‬$ username
select_data_Prdu_MyGuest.php
$ username، $ password، $ dbname)‫ ؛‬if (! $ conn) { die { _ _ _ _ _ _ _ // ‫ﺗﺼﺎل‬ ‫ا‬
" " ‫ﺑﻴﻨﻤﺎ‬‫ﺑﻴﺎﻧﺎ ت اﻹﺧﺮاج ﻟﻜﻞ ﺻﻒ‬
$ conn = mysqli_connect ($ servername،
($ row = mysqli_fetch_assoc ($ result)) { . $ row ["firstname"].

:‫ﺳﻢ‬
" . $ row ["id"]. " :‫"ﻣﻌﺮف‬ ‫اﻻ‬- "
‫ﺻﺪى‬
.
"0 results"‫ }؛‬mysqli_close ($ conn)‫>؟؛‬
row ["lastname"]. "<br>" ‫ } } ؛‬else { echo
$ 57
‫‪Machine Translated by Google‬‬

‫ﺑﻨﺪ ‪WHERE‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺘﺤﺪﻳﺪ اﻟ‬
‫ﺒﺎرة ‪SELECT‬ﻟ‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺑﻴﺎﻧﺎ ت‪.‬‬‫ﻣﻦ ﻗﺎﻋﺪة‬

‫ﺣﺪد اﺳﻢ )أﺳﻤﺎء( اﻟﻌﻤﻮد‬

‫ﻣﻦ ‪table_name‬‬
‫أﻳﻦ ﻗﻴﻤ ﺔ ﻋﺎﻣﻞ اﺳﻢ اﻟﻌﻤﻮد‬
Machine Translated by Google

WHERE ‫ﺑﻨﺪ‬
<‫ ؟‬php

$ con = mysqli_connect ("example.com"، "peter"، "abc123"، "my_db")‫؛‬


‫ﺗﺼﺎل‬
‫ﺗﺤﻘﻖ ﻣﻦ ا‬
//

(mysqli_connect_errno ()) ‫إذا‬

MySQL:". ysqli_connect_error () ، } ‫ﺑـ‬‫ﺗﺼﺎل‬


‫}ﺻﺪى "ﻓﺸﻞ اﻻ‬

‫"ﺣﺪد *ﻣﻦ اﻷﺷﺨﺎص‬$ = mysqli_query ($ con، ‫ﺘﻴﺠ ﺔ‬


‫ﻧ‬

WHERE FirstName = 'Peter' ") ‫؛‬

($ row = mysqli_fetch_array ($ result)) ‫ﺑﻴﻨﻤﺎ‬


""
"<br>" ‫{ ؛‬echo
} ‫ ﺻﺪى‬$
. $row
row['FirstName']
['LastName']. ‫؛‬

‫>؟‬
‫‪Machine Translated by Google‬‬

‫ﺋﻴ ﺴﻴ ﺔ‬
‫ﺗﻴ ﺐ ﺣ ﺴ ﺐ اﻟﻜﻠﻤ ﺔ اﻟﺮ‬
‫ﺘﺮ‬‫اﻟ‬

‫ﺣﺪد اﺳﻢ )أﺳﻤﺎء( اﻟﻌﻤﻮد‬

‫ﻣﻦ ‪table_name‬‬

‫ﺗﻨﺎزﻟ ﻲ‬
‫ﺗﻴ ﺐ ﺣ ﺴ ﺐ اﺳﻢ )أﺳﻤﺎء( اﻟﻌﻤﻮد | ‪ASC‬‬
‫ﺗﺮ‬

‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﻣﺠﻤﻮﻋ ﺔ اﻟ ﺴﺠﻼ ت‪.‬‬


‫ﺘﺨﺪام اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ‪ORDER BY‬ﻟﻔﺮز اﻟ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺗﻴ ﺐﺗﺼﺎﻋﺪي ﺣ ﺴ ﺐ‬
‫ﺘﺮ‬‫ﺑ‬‫ﺑﻔﺮز اﻟ ﺴﺠﻼ ت‬
‫ﺗﻘﻮم اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ‪ORDER BY‬‬
‫•‬

‫ﺘﺮاﺿ ﻲ‪.‬‬
‫إﻓ‬

‫ﺘﺨﺪام‬
‫ﺗﻴ ﺐﺗﻨﺎزﻟ ﻲ ‪،‬ﻳﻤﻜﻨﻚ اﺳ‬
‫ﺘﺮ‬‫ﺑ‬‫•إذا ﻛﻨ ﺖﺗﺮﻏ ﺐ ﻓ ﻲ ﻓﺮز اﻟ ﺴﺠﻼ ت‬

‫اﻟﻜﻠﻤ ﺔ اﻷﺳﺎﺳﻴ ﺔ ‪DESC.‬‬


Machine Translated by Google

‫ﺋﻴ ﺴﻴ ﺔ‬
‫ﺗﻴ ﺐ ﺣ ﺴ ﺐ اﻟﻜﻠﻤ ﺔ اﻟﺮ‬
‫ﺘﺮ‬‫اﻟ‬
<‫ ؟‬php $ con = mysqli_connect ("example.com"، "peter"، "abc123"، "my_db")‫ ؛‬//
ORDER BY age")‫ﺑـ ؛‬‫ﺗﺼﺎل‬ ‫("ﻓﺸﻞ اﻻ‬mysqli_connect_errno ()) { echo ‫ﺗﺼﺎل إذا‬ ‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
mysqli_connect_error () ، } $ result = mysqli_query ($ con، "SELECT * FROM People
MySQL:".

‫ ﺻﺪى ﺻﻮ ت‬while ($ row = mysqli_fetch_array ($ result)) { echo $ row ['FirstName']‫؛‬


mysqli_close ($ con)‫ " " ﺻﺪى >؟ ؛‬. $ row ['Age']‫ " " ﺻﺪى ﺻﻮ ت ؛‬. $ row ['LastName'] ‫؛‬
"<br>" ‫} ؛‬
‫‪Machine Translated by Google‬‬

‫ﺋﻴ ﺴﻴ ﺔ‬
‫ﺗﻴ ﺐ ﺣ ﺴ ﺐ اﻟﻜﻠﻤ ﺔ اﻟﺮ‬
‫ﺘﺮ‬‫اﻟ‬

‫ﺜﺮ ﻣﻦ ﻋﻤﻮد‪.‬‬
‫ﺑﺄﻛ‬ ‫•ﻣﻦ اﻟﻤﻤﻜﻦ أ ً‬
‫ﻳﻀﺎ اﻟﻄﻠ ﺐ‬

‫ﺜﺎﻧ ﻲ‬
‫ﺜﺮ ﻣﻦ ﻋﻤﻮد واﺣﺪ ‪ ،‬اﻟ‬
‫ﺑﺄﻛ‬‫ﻋﻨﺪ اﻟﻄﻠ ﺐ‬

‫ﺘﺨﺪام اﻟﻌﻤﻮد ﻓﻘﻂ إذا ﻛﺎﻧ ﺖ اﻟﻘﻴﻢ اﻟﻤﻮﺟﻮدة ﻓ ﻲ اﻟﻌﻤﻮد اﻷول‬


‫ﺘﻢ اﺳ‬
‫ﻳ‬

‫ﻣ ﺴﺎو‪:‬‬
Machine Translated by Google

MySQL ‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ‬
‫ﺗﺤﺪﻳ ﺚ اﻟ‬
‫و‬MySQLi ‫ﺘﺨﺪام‬ ‫ﺑﺎﺳ‬ ‫اﻟﺠﺪول‬
PDO

63
‫‪Machine Translated by Google‬‬

‫ﺑﻴﺎﻧﺎ ت‬‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﻗﺎﻋﺪة‬


‫ﺗﺤﺪﻳ ﺚ اﻟ‬

‫ﺗﺤﺪﻳ ﺚ ‪table_name‬‬
‫ﺗﻌﻴﻴﻦ اﻟﻌﻤﻮد = ‪1‬اﻟﻘﻴﻤ ﺔ ‪ ،‬اﻟﻌﻤﻮد = ‪2‬اﻟﻘﻴﻤ ﺔ ‪2 ، ...‬‬
‫ﺣﻴ ﺚ ‪some_column = some_value‬‬

‫ﺘﻨ ﺴﻴﻖ‬
‫ﺑ‬‫ﺘﺤﺪﻳ ﺚ اﻟ ﺴﺠﻼ ت اﻟﻤﻮﺟﻮدة‬
‫ﺒﺎرة ‪UPDATE‬ﻟ‬
‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﻃﺎوﻟ ﺔ‪.‬‬

‫•ﻣﻼﺣﻈ ﺔ‪ :‬ﻻﺣﻆ ﺟﻤﻠ ﺔ ‪WHERE‬ﻓ ﻲ ﺻﻴﻐ ﺔ ‪UPDATE.‬ال‬

‫ﺒﻐ ﻲ‬
‫ﺘ ﻲﻳﻨ‬
‫ﺒﺎرة ‪WHERE‬اﻟ ﺴﺠﻞ أو اﻟ ﺴﺠﻼ ت اﻟ‬
‫ﺗﺤﺪد ﻋ‬

‫ﺘﻜﻮن ﺟﻤﻴﻊ اﻟ ﺴﺠﻼ ت‬


‫ﺘﻢﺗﺤﺪﻳ ﺚ‪ .‬إذا ﺣﺬﻓ ﺖ ﺟﻤﻠ ﺔ ‪WHERE ،‬ﻓ ﺴ‬
‫ﻳ‬

‫ﻣﺤﺪ ث!‬
Machine Translated by Google

‫اﻟﻤﻮﺟﻬ ﺔ ﻟﻠﻜﺎﺋﻨﺎ ت‬MySQLi ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬
MySQL ‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﺟﺪول‬
‫ﺗﺤﺪﻳ ﺚ اﻟ‬

"myDB" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
$ password، $ dbname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname =
{ . $ conn-> connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername، $ username،
SET lastname = 'Doe' WHERE id = 3" ‫ ؛‬:‫ﺗﺼﺎل‬
‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error)
‫ﺗﻢﺗﺤﺪﻳ ﺚ‬ " ‫(} ﺻﺪى‬$ conn-> query ($ sql) === TRUE) ‫ "إذا ﻛﺎن‬$ sql = "UPDATE MyGuests
$ conn-> error‫ }؛‬$ conn-> close ()‫ >؟؛‬.":‫"ﺧﻄﺄ ﻓ ﻲﺗﺤﺪﻳ ﺚ اﻟ ﺴﺠﻞ‬else {echo { ‫ﺑﻨﺠﺎح" ؛‬‫اﻟ ﺴﺠﻞ‬

65
Machine Translated by Google

‫اﻹﺟﺮاﺋ ﻲ‬MySQLi ‫ﺘﺨﺪام‬


‫ﺑﺎﺳ‬
MySQL ‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﺟﺪول‬
‫ﺗﺤﺪﻳ ﺚ اﻟ‬

‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $update_data_Prodc_MyGuest.php
servername = "localhost"‫؛‬
password، $ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname = "myDB" ‫ ؛‬// ‫دوﻻر‬
‫ﺗﺼﺎل‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = mysqli_connect ($ servername، $ username، $
SET lastname = 'Doe' WHERE id = 3"‫ ؛‬.":‫ﺗﺼﺎل‬
‫ !()"ﻓﺸﻞ اﻻ‬$ conn) {die ‫إذا‬
conn، $ sql)) { ‫إذا‬mysqli_connect_error ()) ‫ }؛‬$ sql = "UPDATE MyGuests
(mysqli_query ($

($ conn) ‫ >؟ ؛‬.":‫"ﺧﻄﺄ ﻓ ﻲﺗﺤﺪﻳ ﺚ اﻟ ﺴﺠﻞ‬else {echo { ‫ﺑﻨﺠﺎح" ؛‬‫ﺗﻢﺗﺤﺪﻳ ﺚ اﻟ ﺴﺠﻞ‬


" ‫ﺻﺪى‬
mysqli_error ($ conn) ‫ } ؛‬mysqli_close

66
Machine Translated by Google

‫اﺳﻢ‬PDO <‫ ؟‬php $ servername = "localhost"‫ﺘﺨﺪام ؛‬


‫ﺑﺎﺳ‬
MySQL ‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﺟﺪول‬
‫ﺗﺤﺪﻳ ﺚ اﻟ‬
password)‫ ؛‬// ‫ ؛ "" =ﺟﺮ ب‬$ dbname = "myDBPDO" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬
‫اﻟﻤ ﺴ‬
update_data_PDO_MyGuest.php
= new PDO ("mysql: host = $ servername‫؛‬ dbname = $ dbname"، $ username، $
statement $ stmt = $ conn-> Prepar ($ sql) ‫ ؛‬// ‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{ $ conn
$ sql = "UPDATE MyGuests SET lastname = 'Omer' WHERE id = 2"‫ ؛‬// Prepare
‫ﺗﻨﻔﻴﺬ‬
$ conn-> setAttribute (PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫؛‬
$ stmt-> execute () ‫ﺘﻌﻼم ؛‬
‫اﻻﺳ‬

67
‫‪Machine Translated by Google‬‬

‫ﺘﺨﺪام ‪PDO‬‬
‫ﺑﺎﺳ‬
‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﺟﺪول ‪MySQL‬‬
‫ﺗﺤﺪﻳ ﺚ اﻟ‬

‫ﺗﻢ‬
‫ﺘﺤﺪﻳ ﺚ ﻧﺠﺢ ﻓ ﻲ ‪"echo $ stmt-> rowCount ().‬‬
‫ﺘﻘﻮل إن اﻟ‬
‫‪ //‬ﺻﺪى رﺳﺎﻟ ﺔ ﻟ‬
‫ﺑﻨﺠﺎح" ؛ {‬‫ﺗﺤﺪﻳ ﺚ اﻟ ﺴﺠﻼ ت‬

‫ﺜﻨﺎء )‪PDO $ e‬‬


‫ﺘ‬‫‪)catch‬اﺳ‬
‫}ﺻﺪى } ؛ )( ‪sql. "<br>". $ e-> getMessage‬‬
‫‪$‬‬

‫>؟ ؛ ‪= null‬‬
‫‪$ conn‬‬

‫‪68‬‬
Machine Translated by Google

MySQL ‫ﺒﻴﺎﻧﺎ ت ﻣﻦ‬


‫ﺣﺬف اﻟ‬
‫و‬MySQLi ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬ ‫اﻟﺠﺪول‬
PDO

69
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت ﻓ ﻲ ﻗﺎﻋﺪة اﻟ‬
‫ﺣﺬف اﻟ‬

‫اﺣﺬف ﻣﻦ ‪table_name‬‬
‫ﺣﻴ ﺚ ‪some_column = some_value‬‬

‫ﺒﺎرة اﻟﺤﺬف ﻣﻦ ﻟﺤﺬف اﻟ ﺴﺠﻼ ت ﻣﻦ‬


‫ﺘﺨﺪام ﻋ‬
‫ﺘﻢ اﺳ‬
‫•ﻳ‬

‫ﺒﻴﺎﻧﺎ ت‪.‬‬
‫ﺟﺪول ﻗﺎﻋﺪة اﻟ‬

‫ﺒﺎرة ‪WHERE‬ﻓ ﻲ ﺻﻴﻐ ﺔ ‪DELETE.‬ال‬


‫•ﻣﻼﺣﻈ ﺔ‪ :‬ﻻﺣﻆ ﻋ‬

‫ﺒﻐ ﻲ‬
‫ﺘ ﻲﻳﻨ‬
‫ﺒﺎرة ‪WHERE‬اﻟ ﺴﺠﻞ أو اﻟ ﺴﺠﻼ ت اﻟ‬
‫ﺗﺤﺪد ﻋ‬

‫ﺘﻜﻮن ﺟﻤﻴﻊ اﻟ ﺴﺠﻼ ت‬


‫ﺘﻢ ﺣﺬﻓﻬﺎ‪ .‬إذا ﺣﺬﻓ ﺖ ﺟﻤﻠ ﺔ ‪WHERE ،‬ﻓ ﺴ‬
‫ﻳ‬

‫ﺗﻢ اﻟﺤﺬف!‬
Machine Translated by Google

‫ﺑﺎﻟﻤﻌﺮف‬‫ﺘﺎﻟﻴ ﺔﺗﺤﺬف اﻟ ﺴﺠﻞ‬


‫ﺜﻠ ﺔ اﻟ‬
‫اﻷﻣ‬MySQLi ‫ّﻪ ﻟﻠﻜﺎﺋﻨﺎ ت‬
‫ﻣﻮﺟ‬
‫ﺘﺨﺪم‬
‫"اﺳﻢ اﻟﻤ ﺴ‬MyGuests" <‫ ؟‬php $ servername = "localhost"‫ =ﻓ ﻲ ؛‬5
‫ﺗﺼﺎل‬ ‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname = "myDB" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ =
$ username، $ password، $ dbname)‫؛‬ // ‫ﺟﺪﻳﺪ‬$ conn = mysqli
delete_data_OO_MyGuest.php
{ . $ conn-> connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬ ‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬ ($ servername،
$ sql = ‫ "ﻟﺤﺬفﺳﺠﻞ‬// sql :‫ﺗﺼﺎل‬ ‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error)
> query ($ sql) === TRUE ) ‫إذا‬MyGuests WHERE id = 5" ‫"ﺣﺬف ﻣﻦ ؛‬
$ conn-> error‫ }}؛‬else {echo .‫ﺑﻨﺠﺎح"؛‬‫ﺗﻢ ﺣﺬف اﻟ ﺴﺠﻞ‬ " ‫(}ﺻﺪى‬$ conn-
" $ conn-> close ()‫ >؟؛‬:‫"ﺧﻄﺄ ﻓ ﻲ ﺣﺬف اﻟ ﺴﺠﻞ‬

71
Machine Translated by Google

‫ =ﻓ ﻲ‬5 ‫ﺑﺎﻟﻤﻌﺮف‬‫ﺘﺎﻟﻴ ﺔﺗﺤﺬف اﻟ ﺴﺠﻞ‬


‫ﺜﻠ ﺔ اﻟ‬
‫اﻹﺟﺮاﺋ ﻲ اﻷﻣ‬MySQLi ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﺟﺪول‬
‫ﺣﺬف اﻟ‬

‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫"اﺳﻢ اﻟﻤ ﺴ‬MyGuests" <‫ ؟‬php $ servername = "localhost"‫؛‬
$ username، $ password، $ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname = "myDB" ‫ ؛‬//
.":‫ﺗﺼﺎل‬
‫ !()"ﻓﺸﻞ اﻻ‬$ conn) {die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = mysqli_connect ($ servername،
delete_data_Prodc_MyGuest.php
{ ‫إذا‬MyGuests WHERE id = 5" ‫"ﺣﺬف ﻣﻦ ؛‬$ sql = ‫ﻟﺤﺬفﺳﺠﻞ‬mysqli_connect_error ()) ‫ }؛‬// sql
(mysqli_query ($ conn، $ sql))

‫"ﺧﻄﺄ ﻓ ﻲ‬mysqli_error ($ conn)‫ }}؛‬else {echo . ‫ﺑﻨﺠﺎح" ؛‬‫ﺗﻢ ﺣﺬف اﻟ ﺴﺠﻞ‬


" ‫ﺻﺪى‬
" mysqli_close ($ conn)‫ >؟ ؛‬:‫ﺣﺬف اﻟ ﺴﺠﻞ‬
72
Machine Translated by Google

‫ =ﻓ ﻲ‬5 ‫ﺑﺎﻟﻤﻌﺮف‬‫ﺘﺎﻟﻴ ﺔﺗﺤﺬف اﻟ ﺴﺠﻞ‬


‫ﺜﻠ ﺔ اﻟ‬
‫اﻷﻣ‬PDO ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﺟﺪول‬
‫ﺣﺬف اﻟ‬
‫"اﻟﺠﺬر" ؛‬$ = ‫ﺘﺨﺪم‬
‫"اﺳﻢ اﻟﻤ ﺴ‬MyGuests" <‫ ؟‬php $ servername = "localhost"‫؛‬
$ sql = ‫ ؛ "" =ﺟﺮ ب‬$ dbname = "myDBPDO" ‫ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬
delete_data_PDO_MyGuest.php
> setAttribute (PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫؛‬
$ servername‫ ؛‬dbname = $ dbname"، $ username، $ password)‫ ؛‬$ conn-
($ sql) ‫ {"ﺣﺬف ﻣﻦ ﺿﻴﻮﻓ ﻲ ﺣﻴ ﺚ اﻟﻤﻌﺮف ؛‬$ conn = new PDO ("mysql: host =
() ‫ } ؛‬conn = null‫ﺑﻨﺠﺎح" ؛ { >؟ ؛‬‫ﺗﻢ ﺣﺬف اﻟ ﺴﺠﻞ‬
" ‫ = ﺻﺪى‬5"‫ ؛‬$ conn-> exec
catch (PDOException $ e) {echo $ sql. "<br>". $ e-> getMessage

73
Machine Translated by Google

‫ﺗﻤﺎرﻳﻦ ﻋﻤﻠﻴ ﺔ‬

74
Machine Translated by Google

75
Machine Translated by Google

76
Machine Translated by Google

77
Machine Translated by Google

<h1
‫ﺋﻤ ﺔ ﻣﻌﻠﻮﻣﺎ ت اﻟﻄﻼ ب ﻓ ﻲ ﺟﺎﻣﻌ ﺔ اﻟﻴﻤﻦ‬ style = "color: # F0F0F0">
‫ﻗﺎ‬List_data_main.php <body>
‫<ﻹﺿﺎﻓ ﺔ ﻃﻼ ب‬/ h1> <p> <a class = "nodec" href="Form_Insertdata.php">
lasttname </th> <th range = "col"> E_mail </th> <th range = "col"> ‫ﺟﺪد‬
= "col"> Id </th> < th range = "col"> firstname </th> <th range = "col">
= "50٪" border = "1" style = "color: # F0F0F0"> <tbody> <tr> <th range
= "col"> ‫<اﻟﻌﻤﺮ‬/ th > <th range = "col"> ‫<ﻛﻠﻤ ﺔ اﻟﻤﺮور‬/p> <hr /> <table width
<th range = "col"> ‫ﺗﺤﺪﻳ ﺚ‬
</ th> <th range = "col"> ‫ﺒﻴﺎﻧﺎ ت‬
‫<اﻟ‬/ th> <th range
</tr> <‫ <ﻋﺸﺮ‬/ ‫<ﺣﺬف‬/ th>

78
Machine Translated by Google

(! $ conn) { die ‫ ؟<إذا‬php include ('connectx.php') ‫؛‬


mysqli_connect_error ())‫ }؛‬.":‫ﺗﺼﺎل‬‫)"ﻓﺸﻞ اﻻ‬

'<tr>'‫ﺘﻴﺠ ﺔ ؛‬ ‫ﺗﻴ ﺐ ﺣ ﺴ ﺐ اﻟﻤﻌﺮف"؛ ﻧ‬ ‫ﺘﺮ‬‫اﻟ‬MyGuests ‫ﺘﺮ *ﻣﻦ‬ ‫"اﺧ‬$ sql =


conn، $ sql) ‫ ؛‬while ($ row = mysqli_fetch_assoc ($ result)) {echo
$ row ['id']. '</th>'‫ ؛‬$ vidx = $ row ['id']‫ ﺻﺪى ؛‬$ = mysqli_query ($
'<th>'.
'</th>'‫؛‬
$ row
‫ﺻﺪى‬ ['email'].
'<th>'. $'</
row
th>'‫؛‬
['firstname'].
‫<' ﺻﺪى‬th>'.'</
$ row
th>'‫'[؛‬lastname'].
‫<' ﺻﺪى‬th>'.
row ['age']. '</th>'‫<' ﺻﺪى ؛‬th>'. $ row ['password']. '</th>'‫ﺻﺪى ؛‬
idx=$vidx\"> ‫<' ﺻﺪى‬th>'. $ row ['reg_date']. '</th>'‫<' ﺻﺪى ؛‬th>'. $
</a> </th>"‫ﺗﺤﺪﻳ ﺚ ؛‬ "<th> <a href=\"Form_update_data.php/‫؟‬
conn) ‫< ﺻﺪى >؟؛‬/ th>'‫<'ﺣﺬف ؛‬th> <a class = "nodec" href=""> ‫ﺻﺪى‬
"</tr>" ‫ ؛‬mysqli_close ($

79
Machine Translated by Google

MySQL Advanced ‫و‬PHP

80
Machine Translated by Google

‫ﺘﻌﺪدة ﻓ ﻲ‬
‫أدﺧﻞﺳﺠﻼ ت ﻣ‬
PD ‫و‬MySQLi ‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬
MySQL

81
‫‪Machine Translated by Google‬‬

‫‪PHP‬أدﺧﻞ ﻋﺪةﺳﺠﻼ ت ﻓ ﻲ‬
‫‪MySQL‬‬
‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺘﻌﺪدة‬
‫•ﻳﺠ ﺐﺗﻨﻔﻴﺬ ﺟﻤﻞ ‪SQL‬اﻟﻤ‬

‫داﻟ ﺔ ‪mysqli_multi_query ().‬‬

‫ﺛ ﺔﺳﺠﻼ ت ﺟﺪﻳﺪة إﱃ‬


‫ﺛﻼ‬‫ﺘﺎﻟﻴ ﺔﺗﻀﻴﻒ‬
‫ﺜﻠ ﺔ اﻟ‬
‫اﻷﻣ‬

‫ﺟﺪول ‪"MyGuests":‬‬

‫‪82‬‬
MySQLi) ‫ﺜﺎل )ﻣﻮﺟﻪ ﻧﺤﻮ ﻛﺎﺋﻨﺎ ت‬
‫ﻣ‬
Machine Translated by Google

‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
insert_multi_data_oo.php
$ dbname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname = "myDB3" ‫ ؛‬//
connect_error)‫ }؛‬die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername، $ username، $ password،
= "INSERT INTO MyGuests :‫ﺗﺼﺎل‬
‫()"ﻓﺸﻞ اﻻ‬$ conn-> connect_error) { . $ conn->
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ ")اﻻﺳﻢ اﻷول واﻻﺳﻢ اﻷﺧﻴﺮ واﻟ‬$ sql

('John'، 'Doe'، 'john@example.com')‫ ؛" ؛‬$ sql. =" INSERT INTO MyGuests ‫اﻟﻘﻴﻢ‬
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫)اﻻﺳﻢ اﻷول‬
VALUES ('Mary'، 'Moe'، 'mary@example.com')‫ ؛" ؛‬$ sql. =" INSERT INTO MyGuests
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫)اﻻﺳﻢ اﻷول‬
'julie@example.com') "‫ ؛‬if ($ conn-> multi_query ($ sql) === TRUE) { echo"
Error: "$ conn-> close ()‫ﺑﻨﺠﺎح >؟؛‬‫ﺗﻢ إﻧﺸﺎءﺳﺠﻼ ت ﺟﺪﻳﺪة‬
VALUES ('Julie'، 'Dooley'،
"‫ ؛‬. $ sql." <br> ". $ conn-> error‫ }}؛‬else {echo"

83
MySQLi) ‫ﺜﺎل )إﺟﺮاءا ت‬
‫ﻣ‬
Machine Translated by Google

"myDB3" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
($ servername، $ username، $ password، $ dbname)‫ ؛‬// ‫ﺗﺼﺎل‬ ‫؛ "" =إﻧﺸﺎء ا‬insert_multi_data_Procd.php
$ dbname =
MyGuests .":‫ﺗﺼﺎل‬
‫ !()"ﻓﺸﻞ اﻻ‬$ conn) {die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
$ conn = mysqli_connect
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﻻﺳﻢ اﻷﺧﻴﺮ‬، ‫)اﻻﺳﻢ اﻷول‬mysqli_connect_error ()) ‫ }؛‬$ sql = "INSERT INTO

‫'()اﻻﺳﻢ‬John'، 'Doe'، 'john@example.com')‫ ؛" ؛‬$ sql. =" INSERT INTO MyGuests ‫اﻟﻘﻴﻢ‬
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫اﻷول‬
VALUES ('Mary'، 'Moe'، 'mary@example.com')‫ ؛" ؛‬$ sql. =" INSERT INTO MyGuests
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫)اﻻﺳﻢ اﻷول‬
('Julie'، 'Dooley'، 'julie@example.com') "‫ ؛‬if (mysqli_multi_query ($ conn، $ sql)) {
VALUES
" msliclose $ conn‫ﺑﻨﺠﺎح" ؛ { آﺧﺮ >؟ ؛‬‫ﺻﺪى "إﻧﺸﺎءﺳﺠﻼ ت ﺟﺪﻳﺪة‬
{ . $ sql. "<br>". mysqli_error ($ conn) ‫ } ؛‬echo "Error:

84
(PDO) ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

"" ‫ ؛‬$ dbname = "myDBPDO" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
insert_multi_data_PDO.php
= new PDO ("mysql: host = $ servername‫ ؛‬dbname = $ dbname"، $ username، $ password)‫ ؛‬// ‫=ﺟﺮ ب‬
(PDO :: ATTR_ERRMODE، PDO :: ERRMODE_EXCEPTION) ‫ ؛‬// ‫ﺜﻨﺎء‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{ $ conn
INTO MyGuests ‫ﺑﻨﺎ‬‫اﻟﺨﺎﺻ ﺔ‬SQL ‫ﺒﺎرا ت‬
‫ﻋ‬$ conn-> beginTransaction () ‫ ؛‬// ‫ﺑﺪء اﻟﻤﻌﺎﻣﻠ ﺔ‬
$ conn-> setAttribute
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫ اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬، ‫)اﻻﺳﻢ اﻷول‬$ conn-> exec ("INSERT

، ‫)اﻻﺳﻢ اﻷول‬VALUES ('John'، 'Doe'، 'john@example.com') ")‫ ؛‬$ conn-> exec (" INSERT INTO MyGuests
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬
، ‫)اﻻﺳﻢ اﻷول‬VALUES ('Mary'، 'Moe'، 'mary@example.com') ")‫ ؛‬$ conn-> exec (" INSERT INTO MyGuests
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫ اﻟ‬، ‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ‬
VALUES ('Julie'، 'Dooley'، 'julie@example.com') ")‫؛‬

85
(PDO) ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

insert_multi_data_PDO.php

‫ﺗﻨﻔﻴﺬ اﻟﺼﻔﻘ ﺔ‬
//

{ ‫ﺑﻨﺠﺎح" ؛‬‫ﺘﺰام ؛)( ﺻﺪى "إﻧﺸﺎءﺳﺠﻼ ت ﺟﺪﻳﺪة‬


‫اﻻﻟ‬$ conn->

PDO $ e) ‫ﺜﻨﺎء‬
‫ﺘ‬‫)اﺳ‬catch
$ conn-> rollback ()‫ﺘﺮاﺟﻊ ﻋﻦ اﻟﻤﻌﺎﻣﻠ ﺔ إذا ﻓﺸﻞ ﺷ ﻲء ﻣﺎ ؛‬
‫{اﻟ‬//
$ e-> getMessage () ‫ } ؛‬conn = null‫ >؟ ؛‬.":‫ﺻﺪى "ﺧﻄﺄ‬

86
Machine Translated by Google

PHP ‫ﺑﻠﻐ ﺔ‬‫ﺑﻴﺎﻧﺎ ت ﻣﻌﺪة‬

87
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة واﻟﻤﻘﻴﺪة‬
‫اﻟ‬
‫‪Machine Translated by Google‬‬

‫اﻟﻤﻌﻠﻤﺎ ت‬
‫ﺑﻪ(‬
‫ﺘﻨﻔﻴﺬ ﻧﻔ ﺲ )أو ﻣﺎ ﺷﺎ‬
‫ﺘﺨﺪم ﻟ‬
‫ﺒﻴﺎن اﻟﻤﻌﺪ ﻫﻮ ﻣﻴﺰةﺗ ﺴ‬
‫ﺒﺎرا ت اﻟﻤﻌﺪة ﻣﻔﻴﺪة ﺟﺪًا ﺿﺪ ﺣﻘﻦ • ‪SQL.‬اﻟ‬
‫•اﻟﻌ‬

‫ﺑﻜﻔﺎءة ﻋﺎﻟﻴ ﺔ‪.‬‬‫ﺘﻜﺮر‬


‫ﺑﺸﻜﻞ ﻣ‬
‫ﺒﺎرا ت ‪SQL‬‬
‫ﻋ‬

‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺑﺸﻜﻞ أﺳﺎﺳ ﻲ ﻋﲆ اﻟﻨﺤﻮ اﻟ‬‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة‬
‫ﺗﻌﻤﻞ اﻟ‬
‫•‬
‫ﺘﻢﺗﺮك ﻗﻴﻢ ﻣﻌﻴﻨ ﺔ ﻏﻴﺮ ﻣﺤﺪدة ‪،‬ﺗ ﺴﻤﻰ اﻟﻤﻌﻠﻤﺎ ت‬
‫ﺒﻴﺎﻧﺎ ت‪.‬ﻳ‬
‫ﺑﻴﺎن ‪SQL‬وإرﺳﺎﻟﻪ إﱃ ﻗﺎﻋﺪة اﻟ‬‫ﺘﻢ إﻧﺸﺎء ﻗﺎﻟ ﺐ‬
‫ﺗﺤﻀﻴﺮ‪:‬ﻳ‬
‫‪-‬‬
‫ﺜﺎل‪ :‬أدﺧﻞ ﻓ ﻲ )؟‪،‬؟‪،‬؟( ‪MyGuests VALUES‬‬
‫ﺗ ﺴﻤﻰ ‪").‬؟"ﻣ‬
‫)‬

‫ﺘﻴﺠ ﺔ‬‫ﺗﺨﺰﻳﻦ اﻟﻨ‬ ‫ﺘﻌﻼم ﻋﲆ ﻗﺎﻟ ﺐ ﺟﻤﻠ ﺔ ‪SQL ،‬و‬ ‫ﺗﻨﻔﻴﺬﺗﺤ ﺴﻴﻦ اﻻﺳ‬ ‫ﺗﺮﺟﻤ ﺔ و‬
‫ﺘﻮزﻳﻊ و‬
‫ﺑ‬‫ﺒﻴﺎﻧﺎ ت‬‫ﺗﻘﻮم ﻗﺎﻋﺪة اﻟ‬
‫‪-‬‬
‫ﺒﻴﺎﻧﺎ ت‬‫ﺗﻘﻮم ﻗﺎﻋﺪة اﻟ‬
‫ﺑﺎﻟﻤﻌﻠﻤﺎ ت ‪ ،‬و‬‫ﺑﻂ اﻟﻘﻴﻢ‬
‫ﺑﺮ‬‫ﺒﻴﻖ‬‫ﺘﻄ‬‫ﺘﻨﻔﻴﺬ‪ :‬ﻓ ﻲ وﻗ ﺖ ﻻﺣﻖ ‪،‬ﻳﻘﻮم اﻟ‬‫دونﺗﻨﻔﻴﺬ ﻫﺎ ‪-‬اﻟ‬
‫ﺘﻠﻔ ﺔ‬
‫ﺑﻘﻴﻢ ﻣﺨ‬‫ﺒﻴﺎن ﻋﺪة ﻣﺮا ت ﻛﻤﺎﻳﺮﻳﺪ‬
‫ﺒﻴﻖﺗﻨﻔﻴﺬ اﻟ‬
‫ﺘﻄ‬‫ﺒﺎرة‪.‬ﻳﻤﻜﻦ ﻟﻠ‬
‫ﺘﻨﻔﻴﺬ اﻟﻌ‬
‫ﺑ‬

‫‪88‬‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة واﻟﻤﻘﻴﺪة‬
‫اﻟ‬
‫‪Machine Translated by Google‬‬

‫اﻟﻤﻌﻠﻤﺎ ت‬
‫ﺒﺎﺷﺮة ‪،‬‬
‫ﺘﻨﻔﻴﺬ ﺟﻤﻞ ‪SQL‬ﻣ‬
‫ﺑ‬‫•ﻣﻘﺎرﻧ ﺔ‬
‫ﺋﻴ ﺴﻴ ﺔ‪:‬‬
‫ﺛﻼ ث ﻣﺰاﻳﺎ ر‬‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻟﻬﺎ‬
‫اﻟ‬
‫ﺘﺤﻀﻴﺮ ﻋﲆ‬
‫ﺘﺤﻠﻴﻞ ﺣﻴ ﺚ أن اﻟ‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪةﺗﻘﻠﻞ ﻣﻦ وﻗ ﺖ اﻟ‬
‫‪-‬اﻟ‬

‫ﺘﻢﺗﻨﻔﻴﺬ ﻫﺎ ﻋﺪة ﻣﺮا ت‬


‫ﺒﺎرةﻳ‬
‫ﺘﻌﻼم ﻣﺮة واﺣﺪة ﻓﻘﻂ )ﻋﲆ اﻟﺮﻏﻢ ﻣﻦ أن اﻟﻌ‬
‫ﺘﻢ إﺟﺮاء اﻻﺳ‬
‫ﻳ‬

‫ﻣﺮا ت(‬

‫ﺘﺮددي إﱃ اﻟﺨﺎدم ﻛﻤﺎﺗﺮﻳﺪ اﻹرﺳﺎل‬


‫ﺑﻮﻃ ﺔ اﻟﻨﻄﺎق اﻟ‬
‫ﺗﻘﻠﻞ اﻟﻤﻌﻠﻤﺎ ت اﻟﻤﺮ‬
‫‪-‬‬

‫ﺑﺄﻛﻤﻠﻪ‬‫ﺘﻌﻼم‬
‫ﻓﻘﻂ اﻟﻤﻌﻠﻤﺎ ت ﻓ ﻲ ﻛﻞ ﻣﺮة ‪ ،‬وﻟﻴ ﺲ اﻻﺳ‬

‫ﺒﺎرا ت اﻟﻤﻌﺪة ﻣﻔﻴﺪة ﺟﺪًا ﺿﺪ ﺣﻘﻦ ‪SQL ،‬ﻷن‬


‫‪-‬اﻟﻌ‬

‫ﺘﻠﻒ ‪،‬‬
‫ﺗﻮﻛﻮل ﻣﺨ‬
‫ﺑﺮو‬‫ﺘﺨﺪام‬
‫ﺑﺎﺳ‬‫ﺘﻢ إرﺳﺎﻟﻬﺎ ﻻﺣ ًﻘﺎ‬
‫ﺘ ﻲﻳ‬
‫ﻗﻴﻢ اﻟﻤﻌﻠﻤﺎ ت ‪ ،‬واﻟ‬

‫ﺒﻴﺎن اﻷﺻﻠ ﻲ ﻛﺬﻟﻚ‬


‫ﺑﺸﻜﻞ ﺻﺤﻴﺢ‪ .‬إذا ﻟﻢﻳﻜﻦ ﻗﺎﻟ ﺐ اﻟ‬‫ﻻﻳﻠﺰم اﻟﻬﺮو ب‬

‫ﺘﻖ ﻣﻦ إدﺧﺎل ﺧﺎرﺟ ﻲ ‪ ،‬ﻻﻳﻤﻜﻦ أنﻳﺤﺪ ث إدﺧﺎل ‪SQL.‬‬


‫ﻣﺸ‬
‫‪89‬‬
Machine Translated by Google

MySQLi ‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻓ ﻲ‬


‫اﻟ‬
MySQLi: ‫ﺒﺎرا ت ﻣﻌﺪة وﻣﻌﻠﻤﺎ ت ﻣﻨﻀﻤ ﺔ ﻓ ﻲ‬
‫ﺘﺎﻟ ﻲ ﻋ‬
‫ﺜﺎل اﻟ‬
‫ﺘﺨﺪم اﻟﻤ‬
‫ﻳﺴ‬

= "myDB3" ‫ ؛‬// ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر‬$ = ‫ﺘﺨﺪم‬


‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
$ username، $ password، $ dbname)‫ ؛‬// ‫ﺟﺪﻳﺪ‬$ conn = mysqli ‫ﺗﺼﺎل‬
‫ ؛ "" =إﻧﺸﺎء ا‬$ dbname
($ conn-> connect_error) {. $ conn-> connect_error) ‫ } ؛‬die ‫ﺗﺼﺎل إذا‬
‫ﺗﺤﻘﻖ ﻣﻦ اﻻ‬
($ servername،
‫"()اﻻﺳﻢ اﻷول‬INSERT INTO MyGuests ‫ﺗﺤﻀﻴﺮ‬
$ stmt = $ conn-> ‫ﺑﻂ‬
‫ﺗﺤﻀﻴﺮ ور‬
" // :‫ﺗﺼﺎل‬
‫)"ﻓﺸﻞ اﻻ‬
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫واﻻﺳﻢ اﻷﺧﻴﺮ واﻟ‬

VALUES (‫؟‬،‫؟‬،‫ ؛)" )؟‬$ stmt-> bind_param (" sss "، $ lastname، $ email)‫؛‬

90
Machine Translated by Google

MySQLi ‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻓ ﻲ‬


‫اﻟ‬
= "Doe" ‫ﺗﻨﻔﻴﺬ ؛‬
‫ﺗﻌﻴﻴﻦ اﻟﻤﻌﻠﻤﺎ ت و‬
//
‫ﺒﺮﻳﺪ‬
‫اﻟ‬$ firstname = "John" ‫ ؛‬$ lastname
ohn@example.com" ‫ ؛‬$ stmt-> ‫ﺘﺮوﻧ ﻲ‬
‫اﻹﻟﻜ‬
() ‫ﺗﻨﻔﻴﺬ ؛‬
$=

= "Moe" ‫اﻻﺳﻢ اﻷول ="ﻣﺎري" ؛ ؛‬$


$ stmt-> ‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬$ lastname
() ‫ﺗﻨﻔﻴﺬ ؛‬
$ = "mary@example.com" ‫؛‬

$ = "Julie" ‫ ؛‬$ lastname = "Dooley" ‫اﻻﺳﻢ اﻷول ؛‬


= "julie@example.com" ‫ ؛‬$ stmt-> ‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬
()‫ﺑﻨﺠﺎح" ؛ >؟ ؛‬‫ﺗﻨﻔﻴﺬ ؛ )( ﺻﺪى "إﻧﺸﺎءﺳﺠﻼ ت ﺟﺪﻳﺪة‬
$
$ stmt-> close ()‫ ؛‬$ conn-> close

91
‫‪Machine Translated by Google‬‬

‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻓ ﻲ ‪MySQLi‬‬


‫اﻟ‬

‫ﺜﺎل أﻋﻼه‪)- "INSERT INTO MyGuests :‬اﻻﺳﻢ اﻷول ‪،‬‬


‫•أﺳﻄﺮ اﻟﻜﻮد اﻟﻤﺮاد ﺷﺮﺣﻬﺎ ﻣﻦ اﻟﻤ‬

‫ﺘﺮوﻧ ﻲ( ")؟‪،‬؟‪،‬؟( ‪VALUES‬‬


‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﺳﻢ اﻟﻌﺎﺋﻠ ﺔ ‪ ،‬اﻟ‬

‫ﺑﻌﺪد ﺻﺤﻴﺢ أوﺳﻠ ﺴﻠ ﺔ أو‬‫ﺒﺪاﻟﻬﺎ‬


‫ﺘ‬‫ﺘﻔﻬﺎم )؟(ﺣﻴ ﺚ ﻧﺮﻳﺪ اﺳ‬
‫ﺑﺈدﺧﺎل ﻋﻼﻣ ﺔ اﺳ‬‫ﺑﻨﺎ ‪ ،‬ﻧﻘﻮم‬‫‪-‬ﻓ ﻲ ‪SQL‬اﻟﺨﺎص‬
‫ﻗﻴﻤ ﺔ ﻣﺰدوﺟ ﺔ أو ﻗﻴﻤ ﺔ ‪blob.‬‬

‫ﺛﻢ أﻟﻖ ﻧﻈﺮة ﻋﲆ وﻇﻴﻔ ﺔ ‪bind_param ():‬‬


‫‪-‬‬

‫‪• $ stmt-> bind_param ("sss"، $ firstname، $ lastname،‬‬


‫ﺘﺮوﻧ ﻲ ؛ )‪$‬‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬

‫‪92‬‬
‫‪Machine Translated by Google‬‬

‫ﺒﺎر ﻫﺎ‬
‫ﺘﻌﻼم ‪SQL‬وإﺧ‬
‫ﺑﺎﺳ‬‫ﺑﻂ اﻟﻤﻌﻠﻤﺎ ت‬
‫ﺑﺮ‬‫ﺗﻘﻮم ﻫﺬه اﻟﻮﻇﻴﻔ ﺔ‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤﻌﺪة ﻓ ﻲ • ‪MySQLi‬‬
‫اﻟ‬

‫ﺒﻴﺎﻧﺎ ت ﻣﺎ ﻫ ﻲ اﻟﻤﻌﻠﻤﺎ ت‪ .‬ﺣﺠ ﺔ "‪" sss‬‬


‫ﻗﺎﻋﺪة اﻟ‬

‫ﺘ ﻲﺗﻜﻮن اﻟﻤﻌﻠﻤﺎ ت‪ .‬ال ‪s‬‬


‫ﺒﻴﺎﻧﺎ ت اﻟ‬
‫ﻳ ﺴﺮد أﻧﻮاع اﻟ‬

‫ﺒﺎرة ﻋﻦﺳﻠ ﺴﻠ ﺔ‪.‬‬


‫ﺒﺮ اﻟﺤﺮف ‪mysql‬أن اﻟﻤﻌﻠﻤ ﺔ ﻋ‬
‫ﻳﺨ‬

‫ﺑﻌ ﺔ أﻧﻮاع‪:‬‬
‫•ﻗﺪﺗﻜﻮن اﻟﻮﺳﻴﻄ ﺔ واﺣﺪة ﻣﻦ أر‬

‫‪ -‬ط ‪-‬ﻋﺪد ﺻﺤﻴﺢ‬


‫‪-‬د ‪-‬ﻣﺰدوج‬
‫‪ -‬ق ‪-‬ﺳﻠ ﺴﻠ ﺔ ‪-‬‬
‫ب ‪- BLOB‬‬

‫•ﻳﺠ ﺐ أنﻳﻜﻮن ﻟﺪﻳﻨﺎ واﺣﺪ ﻣﻦ ﻫﺬه ﻟﻜﻞ ﻣﻌﻠﻤ ﺔ‪.‬‬

‫ﺘﻘﻠﻴﻞ‬
‫ﺑ‬‫ﺘﻮﻗﻊ ‪ ،‬ﻧﻘﻮم‬
‫ﺒﻴﺎﻧﺎ ت اﻟﻤ‬
‫ﺑﻨﻮع اﻟ‬
‫ﺒﺎر ‪mysql‬‬
‫ﺑﺈﺧ‬
‫•‬

‫ﺣﻘﻦ ‪SQL.‬‬
‫ﺧﻄﺮ ‪93‬‬
(PDO) ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

:ً‫ﺘﻠﻔ ﺔ ﻗﻠﻴ ﻼ‬
‫ﻣﺨ‬PDO ‫ﻃﺮﻳﻘ ﺔ‬
Prepared_Statements_PDO.php
= "myDBPDO" ‫"اﻟﺠﺬر" ؛ ﻛﻠﻤ ﺔ ﻣﺮور دوﻻر ؛‬$ = ‫ﺘﺨﺪم‬
‫ ؟<اﺳﻢ اﻟﻤ ﺴ‬php $ servername = "localhost"‫؛‬
host = $ servername‫ ؛‬dbname = $ dbname"، $ username، $ password)‫ ؛‬// ‫ ؛ "" =ﺟﺮ ب‬$ dbname
PDO :: ERRMODE_EXCEPTION) ‫ﺜﻨﺎء ؛‬
‫ﺘ‬‫إﱃ اﻻﺳ‬PDO ‫ﺗﻌﻴﻴﻦ وﺿﻊ ﺧﻄﺄ‬
{ $ conn = new PDO ("mysql:
$ conn-> setAttribute (PDO :: ATTR_ERRMODE،

‫"()اﻻﺳﻢ اﻷول واﻻﺳﻢ‬INSERT INTO MyGuests ‫ﺗﺤﻀﻴﺮ‬


bind $ stmt = $ conn-> ‫و‬sql ‫ﺗﺤﻀﻴﺮ ﻣﻌﻠﻤﺎ ت‬
//
(‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻷﺧﻴﺮ واﻟ‬
VALUES { : ': email'، $ email)‫؛‬

94
(PDO) ‫ﺜﺎل‬
‫ﻣ‬
Machine Translated by Google

"Doe" ‫اﻻﺳﻢ اﻷول ="ﺟﻮن" ؛ ؛‬$ ‫أدﺧﻞ ﺻ ًﻔﺎ‬//


$ stmt-> ‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬$ lastname =
Prepared_Statements_PDO.php
() ‫ﺗﻨﻔﻴﺬ ؛‬
$ = "john@example.com" ‫؛‬

‫اﻻﺳﻢ اﻷول ="ﻣﺎري" ؛‬$ ‫أدﺧﻞ ﺻ ًﻔﺎ آﺧﺮ‬//

> ‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫اﻟ‬$ lastname = "Moe" ‫؛‬
‫ﺗﻨﻔﻴﺬ‬
$ = "mary@example.com" ‫ ؛‬$ stmt-
() ‫؛‬

$ lastname = "Dooley" ‫اﻻﺳﻢ اﻷول ؛‬$ ‫أدﺧﻞ ﺻ ًﻔﺎ آﺧﺮ‬//


"julie@example.com" ‫ ؛‬$ stmt-> ‫ﺘﺮوﻧ ﻲ‬
‫ﺒﺮﻳﺪ اﻹﻟﻜ‬
‫" =اﻟ‬Julie"‫؛‬
catch ‫ﺑﻨﺠﺎح" ؛‬‫ﺗﻨﻔﻴﺬ ؛ )( ﺻﺪى "إﻧﺸﺎءﺳﺠﻼ ت ﺟﺪﻳﺪة‬
$=
() ‫{ } ؛‬echo "Error:" $ conn = null‫ﺜﻨﺎء >؟ ؛‬
‫ﺘ‬‫)اﺳ‬
PDO $ e) . $ e-> getMessage
}

95
‫ﺑﻴﺎﻧﺎ ت ‪MySQL‬‬‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﻗﺎﻋﺪة‬
‫ﺗﺤﺪﻳﺪﺗﺤﺪﻳﺪا ت اﻟ‬
‫‪Machine Translated by Google‬‬

‫ﺘﺤﺪﻳﺪ ﻋﺪد‬
‫ﺘﺨﺪم ﻟ‬
‫ُﺴ‬‫ﺷﺮﻃﺎ ﻣﺤﺪودًاﻳ‬
‫ً‬ ‫ﺗﻮﻓﺮ ‪MySQL‬‬
‫اﻟ ﺴﺠﻼ ت اﻟﻤﺮاد إرﺟﺎﻋﻬﺎ‪.‬‬

‫ﺘﺨﺪام ‪SQL ،‬‬


‫ﺑﺎﺳ‬‫ﺘﻌﺪدة أوﺗﺮﻗﻴﻢ اﻟﺼﻔﺤﺎ ت‬
‫ﺘﺎﺋﺞ ﺻﻔﺤﺎ ت ﻣ‬
‫ﺒﺎرة ‪LIMIT‬ﻣﻦ اﻟ ﺴﻬﻞﺗﺮﻣﻴﺰ ﻧ‬
‫ﺗﺠﻌﻞ ﻋ‬
‫ﺒﻴﺮة‪.‬‬
‫و ﻫ ﻲ ﻣﻔﻴﺪة ﺟﺪًا ﻓ ﻲ اﻟﺠﺪاول اﻟﻜ‬
‫ﺒﻴﺮ ﻣﻦ اﻟ ﺴﺠﻼ ت ﻋﲆ اﻷداء‪.‬‬
‫ﺛﺮ إرﺟﺎع ﻋﺪد ﻛ‬
‫ﻳﻤﻜﻦ أنﻳﺆ‬

‫ﺘﺮض أﻧﻨﺎ ﻧﺮﻏ ﺐ ﻓ ﻲﺗﺤﺪﻳﺪ ﺟﻤﻴﻊ اﻟ ﺴﺠﻼ ت ﻣﻦ ‪1‬إﱃ ‪)30‬ﺿﻤﻨﺎً( ﻣﻦ ﺟﺪولﻳ ﺴﻤﻰ "اﻟﻄﻠ‬
‫ﺒﺎ ت"‪.‬‬ ‫اﻓ‬

‫ﺘﺎﻟ ﻲ‪:‬‬
‫ﺑﺎﻟﺸﻜﻞ اﻟ‬‫ﺑﻌﺪ ذﻟﻚ‬
‫ﺘﻌﻼم ‪SQL‬‬
‫ﺒﺪو اﺳ‬
‫ﺳﻴ‬

‫ﺒﺎ ت اﻟﻤﺤﺪودة ؛ "‪30‬‬


‫= ‪"$ sql‬ﺣﺪد *ﻣﻦ اﻟﻄﻠ‬ ‫‪96‬‬
‫ﺑﻴﺎﻧﺎ ت ‪MySQL‬ﻋﻨﺪ‬‫ﺒﻴﺎﻧﺎ ت ﻣﻦ ﻗﺎﻋﺪة‬
‫ﺗﺤﺪﻳﺪﺗﺤﺪﻳﺪا ت اﻟ‬
‫‪Machine Translated by Google‬‬

‫ً‬
‫ﺳﺠﻼ‪.‬‬‫ﺘﻌﻼم ‪SQL‬أﻋﻼه ‪،‬ﺳﻴﻌﻴﺪ أول ‪30‬‬
‫ﺗﺸﻐﻴﻞ اﺳ‬

‫ﻣﺎذا ﻟﻮ أردﻧﺎﺗﺤﺪﻳﺪ اﻟ ﺴﺠﻼ ت ﻣﻦ ‪16‬إﱃ ‪)25‬ﺿﻤﻨﺎً(؟‬

‫ﺘﺨﺪام ‪OFFSET.‬‬
‫ﺑﺎﺳ‬‫ﺘﻌﺎﻣﻞ ﻣﻊ ﻫﺬا‪:‬‬ ‫ﻳﻮﻓﺮ ‪Mysql‬أ ً‬
‫ﻳﻀﺎ ﻃﺮﻳﻘ ﺔ ﻟﻠ‬

‫ﺑﺪأ ﻓ ﻲ اﻟ ﺴﺠﻞ ‪16 (OFFSET 15)":‬‬


‫ﺘﻌﻼم ‪SQL‬أدﻧﺎه "إرﺟﺎع ‪10‬ﺳﺠﻼ ت ﻓﻘﻂ ‪ ،‬ا‬
‫ﻳﻘﻮل اﺳ‬

‫ﺒﺎ ت ؛ "‪10 OFFSET 15‬‬


‫= ‪"$ sql‬ﺣﺪد *ﻣﻦ ﺣﺪود اﻟﻄﻠ‬

‫ﺘﻴﺠ ﺔ‪:‬‬
‫ﺘﺤﻘﻴﻖ ﻧﻔ ﺲ اﻟﻨ‬
‫ﺘﺨﺪام ﺻﻴﻐ ﺔ أﻗﺼﺮ ﻟ‬ ‫ﻳﻤﻜﻨﻚ أ ً‬
‫ﻳﻀﺎ اﺳ‬

‫ﺒﺎ ت اﻟﻤﺤﺪدة ؛ "‪15 ، 10‬‬


‫= ‪"$ sql‬ﺣﺪد *ﻣﻦ اﻟﻄﻠ‬
‫ﺘﺨﺪام ﻓﺎﺻﻠ ﺔ‪.‬‬ ‫‪ 97‬ﻻﺣﻆ أﻧﻪﻳ‬
‫ﺘﻢ ﻋﻜ ﺲ اﻷرﻗﺎم ﻋﻨﺪ اﺳ‬
Machine Translated by Google

You might also like