{"id":4196,"date":"2023-09-04T16:00:25","date_gmt":"2023-09-04T16:00:25","guid":{"rendered":"https:\/\/sunucucozumleri.com\/?p=4196"},"modified":"2023-08-07T21:15:45","modified_gmt":"2023-08-07T21:15:45","slug":"php-ile-veritabani-baglantisi-nasil-yapilir","status":"publish","type":"post","link":"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/","title":{"rendered":"PHP ile Veritaban\u0131 Ba\u011flant\u0131s\u0131 Nas\u0131l Yap\u0131l\u0131r?"},"content":{"rendered":"<p>G\u00fcn\u00fcm\u00fczde bir\u00e7ok web uygulamas\u0131n\u0131n arkas\u0131nda bir veritaban\u0131 bulunmaktad\u0131r. Bu veritaban\u0131na eri\u015fim sa\u011flama ve veri i\u015fleme i\u015flemleri, do\u011fru bir veritaban\u0131 ba\u011flant\u0131s\u0131yla ger\u00e7ekle\u015ftirilir. Bu yaz\u0131da, veritaban\u0131 ba\u011flant\u0131s\u0131 nedir, PHP ile veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in hangi fonksiyonlar kullan\u0131l\u0131r, veritaban\u0131na ba\u011flant\u0131 i\u00e7in gerekli bilgiler nelerdir gibi temel konulara de\u011finece\u011fiz. Ayr\u0131ca, MySQL veritaban\u0131na nas\u0131l ba\u011flan\u0131l\u0131r, PDO k\u00fct\u00fcphanesi ile veritaban\u0131na nas\u0131l ba\u011flan\u0131l\u0131r, veritaban\u0131 ba\u011flant\u0131s\u0131nda hata ay\u0131klama nas\u0131l yap\u0131l\u0131r ve veritaban\u0131 ba\u011flant\u0131s\u0131 sonucunda hangi i\u015flemler yap\u0131labilir gibi \u00f6nemli konular\u0131 da ele alaca\u011f\u0131z. Veritaban\u0131 ba\u011flant\u0131s\u0131yla ilgili merak ettiklerinizi bu yaz\u0131da bulabilirsiniz.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Makale \u0130\u00e7eri\u011fi<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"\u0130\u00e7indekiler Tablosunu A\u00e7\/Kapat\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Veritabani_Baglantisi_Nedir\" >Veritaban\u0131 Ba\u011flant\u0131s\u0131 Nedir?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#PHP_Ile_Veritabani_Baglantisi_Icin_Hangi_Fonksiyonlar_Kullanilir\" >PHP \u0130le Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Hangi Fonksiyonlar Kullan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Veritabanina_Baglanti_Icin_Gerekli_Bilgiler_Nelerdir\" >Veritaban\u0131na Ba\u011flant\u0131 \u0130\u00e7in Gerekli Bilgiler Nelerdir?<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Liste_HTML_Etiketi_ile_Veritabani_Baglantisi_Icin_Gerekli_Bilgiler\" >Liste HTML Etiketi ile Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Gerekli Bilgiler:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Tablo_HTML_Etiketi_ile_Veritabani_Baglantisi_Icin_Gerekli_Bilgiler\" >Tablo HTML Etiketi ile Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Gerekli Bilgiler:<\/a><\/li><\/ul><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#MySQL_Veritabanina_Nasil_Baglanilir\" >MySQL Veritaban\u0131na Nas\u0131l Ba\u011flan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#PDO_Kutuphanesi_Ile_Veritabanina_Nasil_Baglanilir\" >PDO K\u00fct\u00fcphanesi \u0130le Veritaban\u0131na Nas\u0131l Ba\u011flan\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Veritabani_Baglantisinda_Hata_Ayiklama_Nasil_Yapilir\" >Veritaban\u0131 Ba\u011flant\u0131s\u0131nda Hata Ay\u0131klama Nas\u0131l Yap\u0131l\u0131r?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/sunucucozumleri.com\/blog\/php-ile-veritabani-baglantisi-nasil-yapilir\/#Veritabani_Baglantisi_Sonucunda_Hangi_Islemler_Yapilabilir\" >Veritaban\u0131 Ba\u011flant\u0131s\u0131 Sonucunda Hangi \u0130\u015flemler Yap\u0131labilir?<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Veritabani_Baglantisi_Nedir\"><\/span>Veritaban\u0131 Ba\u011flant\u0131s\u0131 Nedir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131, bir web uygulamas\u0131n\u0131n veya yaz\u0131l\u0131m\u0131n\u0131n bir veritaban\u0131na eri\u015fim sa\u011flamak i\u00e7in yap\u0131lan i\u015flemdir. Bir web sitesinde kullan\u0131c\u0131lar\u0131n kay\u0131t olmas\u0131n\u0131 veya veri giri\u015fi yapmas\u0131n\u0131 sa\u011flamak, mevcut verileri g\u00fcncellemek veya almak i\u00e7in veritaban\u0131na ba\u011flant\u0131 kurulmas\u0131 gerekmektedir.<\/p>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131, web uygulamas\u0131 ile veritaban\u0131 aras\u0131nda bir k\u00f6pr\u00fc g\u00f6revi g\u00f6r\u00fcr. Bu ba\u011flant\u0131y\u0131 kurmak i\u00e7in belirli fonksiyonlar kullan\u0131l\u0131r. PHP kullan\u0131larak veritaban\u0131 ba\u011flant\u0131s\u0131 kurmak i\u00e7in <strong>mysqli_connect()<\/strong> veya <strong>mysql_connect()<\/strong> fonksiyonlar\u0131 kullan\u0131labilir.<\/p>\n<p>Veritaban\u0131na ba\u011flant\u0131 yapabilmek i\u00e7in baz\u0131 bilgilere ihtiya\u00e7 vard\u0131r. Veritaban\u0131 sunucusunun adresi, kullan\u0131c\u0131 ad\u0131 ve \u015fifresi bu bilgiler aras\u0131nda yer almaktad\u0131r. Bu bilgiler, veritaban\u0131 ba\u011flant\u0131s\u0131 kurulurken kullan\u0131l\u0131r ve g\u00fcvenlik a\u00e7\u0131s\u0131ndan do\u011fru bir \u015fekilde sa\u011flanmal\u0131d\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"PHP_Ile_Veritabani_Baglantisi_Icin_Hangi_Fonksiyonlar_Kullanilir\"><\/span>PHP \u0130le Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Hangi Fonksiyonlar Kullan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>PHP programlama dili, web uygulamalar\u0131 geli\u015ftirirken veritaban\u0131 ba\u011flant\u0131s\u0131 kurmak i\u00e7in bir\u00e7ok kullan\u0131\u015fl\u0131 fonksiyon sunmaktad\u0131r. Bu fonksiyonlar sayesinde MySQL, Oracle, SQLite, PostgreSQL gibi \u00e7e\u015fitli veritaban\u0131 sistemleriyle kolayca etkile\u015fim kurabiliriz. \u0130\u015fte PHP ile veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in en yayg\u0131n kullan\u0131lan fonksiyonlar:<\/p>\n<p><strong>1. mysqli_connect():<\/strong> Bu fonksiyon, MySQL veritaban\u0131na ba\u011flant\u0131 kurmak i\u00e7in kullan\u0131l\u0131r. Parametre olarak <a href=\"https:\/\/sunucucozumleri.com\/blog\/frontpage\/\">sunucu<\/a> ad\u0131, kullan\u0131c\u0131 ad\u0131, \u015fifre ve veritaban\u0131 ad\u0131 gibi bilgiler al\u0131r. Ba\u011flant\u0131 ba\u015far\u0131l\u0131 oldu\u011funda, bir dize d\u00f6nd\u00fcr\u00fcr. \u00d6rnek kullan\u0131m: $conn = mysqli_connect(&#8220;localhost&#8221;, &#8220;kullanici&#8221;, &#8220;sifre&#8221;, &#8220;veritabani&#8221;);<\/p>\n<p><strong>2. mysqli_select_db():<\/strong> Bu fonksiyon, mevcut bir veritaban\u0131n\u0131 se\u00e7mek i\u00e7in kullan\u0131l\u0131r. Parametre olarak ba\u011flant\u0131 nesnesi ve veritaban\u0131 ad\u0131 al\u0131r. \u00d6rnek kullan\u0131m: mysqli_select_db($conn, &#8220;veritabani&#8221;);<\/p>\n<p><strong>3. mysqli_close():<\/strong> Bu fonksiyon, veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 kapatmak i\u00e7in kullan\u0131l\u0131r. Parametre olarak ba\u011flant\u0131 nesnesi al\u0131r. \u00d6rnek kullan\u0131m: mysqli_close($conn);<\/p>\n<table>\n<tr>\n<th>Fonksiyon<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<\/tr>\n<tr>\n<td>mysqli_connect()<\/td>\n<td>MySQL veritaban\u0131na ba\u011flant\u0131 kurar.<\/td>\n<\/tr>\n<tr>\n<td>mysqli_select_db()<\/td>\n<td>Mevcut bir veritaban\u0131n\u0131 se\u00e7er.<\/td>\n<\/tr>\n<tr>\n<td>mysqli_close()<\/td>\n<td>Veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 kapat\u0131r.<\/td>\n<\/tr>\n<\/table>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131 kurmak, web uygulamalar\u0131n\u0131n temel ihtiya\u00e7lar\u0131ndan biridir. Bu fonksiyonlar sayesinde PHP programlama diliyle kolayca veritaban\u0131na eri\u015febilir ve g\u00fcncelleme, ekleme, silme gibi i\u015flemleri ger\u00e7ekle\u015ftirebiliriz. E\u011fer farkl\u0131 bir veritaban\u0131 sistemini kullan\u0131yorsan\u0131z, ilgili fonksiyonlar\u0131 kullanarak ba\u011flant\u0131y\u0131 kurabilirsiniz. \u00d6rne\u011fin, PostgreSQL i\u00e7in pg_connect(), SQLite i\u00e7in sqlite_open() gibi fonksiyonlar kullan\u0131l\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Veritabanina_Baglanti_Icin_Gerekli_Bilgiler_Nelerdir\"><\/span>Veritaban\u0131na Ba\u011flant\u0131 \u0130\u00e7in Gerekli Bilgiler Nelerdir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131, bir web uygulamas\u0131n\u0131n verileri depolayan ve eri\u015fen \u00f6nemli bir bile\u015fenidir. Bir veritaban\u0131na ba\u011flanmak i\u00e7in baz\u0131 temel bilgilere ihtiya\u00e7 duyulur. Bu bilgiler, sunucu ad\u0131 veya IP adresi, kullan\u0131c\u0131 ad\u0131, <a href=\"https:\/\/sunucucozumleri.com\/blog\/parola-saklama-uygulamalari-ve-karsilastirmalari\/\">parola<\/a> ve veritaban\u0131 ad\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Bir veritaban\u0131 sunucusunun ad\u0131 veya IP adresi, ba\u011flant\u0131n\u0131n nerede kurulaca\u011f\u0131n\u0131 belirtir. Sunucu ad\u0131 yerel bir sunucuyu i\u015faret edebilirken, IP adresi uzaktaki bir sunucuya eri\u015fim sa\u011flar. Kullan\u0131c\u0131 ad\u0131 ve parola, veritaban\u0131na yetkili eri\u015fim imkan\u0131 verir. Bu bilgileri do\u011fru bir \u015fekilde girmek, ba\u011flant\u0131 hatalar\u0131n\u0131 \u00f6nlemek i\u00e7in \u00f6nemlidir.<\/p>\n<p>Veritaban\u0131 ad\u0131, ba\u011flanmak istedi\u011finiz \u00f6zel bir veritaban\u0131n\u0131n ad\u0131n\u0131 belirtir. Birden fazla veritaban\u0131 varsa, ba\u011flanmak istedi\u011finiz veritaban\u0131n\u0131 se\u00e7mek i\u00e7in bu bilgi kullan\u0131l\u0131r. \u00d6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli projelerde, farkl\u0131 veritabanlar\u0131 kullanmak yayg\u0131n bir uygulamad\u0131r.<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Liste_HTML_Etiketi_ile_Veritabani_Baglantisi_Icin_Gerekli_Bilgiler\"><\/span>Liste HTML Etiketi ile Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Gerekli Bilgiler:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<ul>\n<li>Sunucu ad\u0131 veya IP adresi<\/li>\n<li>Kullan\u0131c\u0131 ad\u0131<\/li>\n<li>Parola<\/li>\n<li>Veritaban\u0131 ad\u0131<\/li>\n<\/ul>\n<h4><span class=\"ez-toc-section\" id=\"Tablo_HTML_Etiketi_ile_Veritabani_Baglantisi_Icin_Gerekli_Bilgiler\"><\/span>Tablo HTML Etiketi ile Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Gerekli Bilgiler:<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<table>\n<tr>\n<th>Bilgi<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<\/tr>\n<tr>\n<td>Sunucu Ad\u0131 veya IP Adresi<\/td>\n<td>Veritaban\u0131 sunucusunun adresini belirtir.<\/td>\n<\/tr>\n<tr>\n<td>Kullan\u0131c\u0131 Ad\u0131<\/td>\n<td>Veritaban\u0131na eri\u015fim yetkisi olan kullan\u0131c\u0131n\u0131n ad\u0131d\u0131r.<\/td>\n<\/tr>\n<tr>\n<td>Parola<\/td>\n<td>Kullan\u0131c\u0131 ad\u0131 ile e\u015fle\u015fen \u015fifredir.<\/td>\n<\/tr>\n<tr>\n<td>Veritaban\u0131 Ad\u0131<\/td>\n<td>Eri\u015fmek istedi\u011finiz veritaban\u0131n\u0131n ad\u0131n\u0131 belirtir.<\/td>\n<\/tr>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"MySQL_Veritabanina_Nasil_Baglanilir\"><\/span>MySQL Veritaban\u0131na Nas\u0131l Ba\u011flan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Veritaban\u0131 Ba\u011flant\u0131s\u0131 Nedir?<\/strong><\/p>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131, bir web sitesi veya uygulaman\u0131n MySQL veritaban\u0131yla ileti\u015fim kurmas\u0131n\u0131 sa\u011flayan bir i\u015flemdir. Bu ba\u011flant\u0131, kullan\u0131c\u0131lar\u0131n verileri okumas\u0131na, yazmas\u0131na veya g\u00fcncellemesine olanak tan\u0131r. Veritaban\u0131 ba\u011flant\u0131s\u0131 sayesinde, kullan\u0131c\u0131 bilgilerini saklama, e-ticaret i\u015flemleri ger\u00e7ekle\u015ftirme veya i\u00e7erik y\u00f6netimi gibi bir\u00e7ok farkl\u0131 i\u015flem yap\u0131labilir.<\/p>\n<p><strong>PHP \u0130le Veritaban\u0131 Ba\u011flant\u0131s\u0131 \u0130\u00e7in Hangi Fonksiyonlar Kullan\u0131l\u0131r?<\/strong><\/p>\n<p>PHP, MySQL veritaban\u0131na ba\u011flanmak i\u00e7in bir dizi fonksiyon sa\u011flar. Bunlar aras\u0131nda <strong>mysqli_connect()<\/strong>, <strong>mysqli_select_db()<\/strong> ve <strong>mysqli_close()<\/strong> gibi s\u0131k kullan\u0131lan fonksiyonlar bulunur. <strong>mysqli_connect()<\/strong> fonksiyonu, veritaban\u0131 sunucusuna ba\u011flant\u0131 kurar ve bir ba\u011flant\u0131 nesnesi d\u00f6nd\u00fcr\u00fcr. <strong>mysqli_select_db()<\/strong> fonksiyonu, belirli bir veritaban\u0131n\u0131 se\u00e7mek i\u00e7in kullan\u0131l\u0131r, <strong>mysqli_close()<\/strong> fonksiyonu ise veritaban\u0131 ba\u011flant\u0131s\u0131n\u0131 kapat\u0131r.<\/p>\n<p><strong>Veritaban\u0131na Ba\u011flant\u0131 \u0130\u00e7in Gerekli Bilgiler Nelerdir?<\/strong><\/p>\n<p>Veritaban\u0131na ba\u011flanmak i\u00e7in baz\u0131 \u00f6nemli bilgilere ihtiya\u00e7 vard\u0131r. Bunlar, genellikle veritaban\u0131 sunucu ad\u0131, kullan\u0131c\u0131 ad\u0131, parola ve veritaban\u0131 ad\u0131d\u0131r. Veritaban\u0131 sunucu ad\u0131, genellikle &#8220;localhost&#8221; veya bir IP adresi olabilir. Kullan\u0131c\u0131 ad\u0131 ve parola, veritaban\u0131 y\u00f6neticisi taraf\u0131ndan sa\u011flan\u0131r ve veritaban\u0131 ad\u0131 da olu\u015fturulan veritaban\u0131n\u0131n ad\u0131d\u0131r. Bu bilgilerin do\u011fru bir \u015fekilde sa\u011flanmas\u0131, veritaban\u0131na ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011flanmay\u0131 sa\u011flar.<\/p>\n<ul>\n<li><strong>Veritaban\u0131 sunucu ad\u0131:<\/strong> localhost<\/li>\n<li><strong>Kullan\u0131c\u0131 ad\u0131:<\/strong> root<\/li>\n<li><strong>Parola:<\/strong> password<\/li>\n<li><strong>Veritaban\u0131 ad\u0131:<\/strong> mydatabase<\/li>\n<\/ul>\n<p>MySQL veritaban\u0131na PHP kullanarak ba\u011flanmak i\u00e7in \u00f6ncelikle <strong>mysqli_connect()<\/strong> fonksiyonu kullan\u0131l\u0131r. Bu fonksiyon, veritaban\u0131 sunucusuna ba\u011flanmak i\u00e7in gerekli olan bilgileri ve ba\u011flant\u0131 y\u00f6ntemini i\u00e7erir.<\/p>\n<p>\u00d6rne\u011fin:<\/p>\n<p>&lt;?php<br \/>\n$servername = &#8220;localhost&#8221;;<br \/>\n$username = &#8220;root&#8221;;<br \/>\n$password = &#8220;password&#8221;;<br \/>\n$database = &#8220;mydatabase&#8221;;<\/p>\n<p>\/\/ Veritaban\u0131na ba\u011flanma<br \/>\n$conn = mysqli_connect($servername, $username, $password, $database);<\/p>\n<p>\/\/ Ba\u011flant\u0131y\u0131 kontrol etme<br \/>\nif (!$conn) {<br \/>\n    die(&#8220;Veritaban\u0131 ba\u011flant\u0131s\u0131 ba\u015far\u0131s\u0131z: &#8221; . mysqli_connect_error());<br \/>\n}<br \/>\necho &#8220;Veritaban\u0131na ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011fland\u0131!&#8221;;<br \/>\nmysqli_close($conn);<br \/>\n?&gt;<\/p>\n<p>Yukar\u0131daki \u00f6rnekte, <strong>$servername<\/strong>, <strong>$username<\/strong>, <strong>$password<\/strong> ve <strong>$database<\/strong> de\u011fi\u015fkenleri, ba\u011flan\u0131lacak veritaban\u0131n\u0131n bilgilerini i\u00e7erir. <strong>mysqli_connect()<\/strong> fonksiyonuna bu de\u011fi\u015fkenlerin de\u011ferleri verilerek, veritaban\u0131na ba\u011flant\u0131 sa\u011flan\u0131r. E\u011fer ba\u011flant\u0131 ba\u015far\u0131l\u0131ysa, &#8220;Veritaban\u0131na ba\u015far\u0131l\u0131 bir \u015fekilde ba\u011fland\u0131!&#8221; mesaj\u0131 g\u00f6r\u00fcnt\u00fclenir. Ba\u011flant\u0131y\u0131 kapatmak i\u00e7in <strong>mysqli_close()<\/strong> fonksiyonu kullan\u0131l\u0131r.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"PDO_Kutuphanesi_Ile_Veritabanina_Nasil_Baglanilir\"><\/span>PDO K\u00fct\u00fcphanesi \u0130le Veritaban\u0131na Nas\u0131l Ba\u011flan\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131, web uygulamalar\u0131nda ve di\u011fer yaz\u0131l\u0131mlarda veritaban\u0131 sunucusuna eri\u015fim sa\u011flamak i\u00e7in kullan\u0131lan bir i\u015flemdir. Veritaban\u0131 ba\u011flant\u0131s\u0131, veritaban\u0131ndaki veriye eri\u015fmek, veri eklemek, g\u00fcncellemek veya silmek gibi \u00e7e\u015fitli i\u015flemlerin yap\u0131lmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lar.<\/p>\n<p>PHP, sunucu tarafl\u0131 bir programlama dili oldu\u011fu i\u00e7in veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in \u00e7e\u015fitli fonksiyonlara sahiptir. Bu fonksiyonlar, farkl\u0131 veritaban\u0131 sunucular\u0131yla etkile\u015fim kurmak i\u00e7in kullan\u0131l\u0131r. PDO (PHP Data Objects) k\u00fct\u00fcphanesi de bunlardan biridir.<\/p>\n<p>PDO k\u00fct\u00fcphanesi, PHP ile veritaban\u0131na ba\u011flanmak i\u00e7in kullan\u0131lan bir arabirim sa\u011flar. Bu k\u00fct\u00fcphane ile farkl\u0131 veritaban\u0131 sunucular\u0131yla kolayca ba\u011flant\u0131 kurabilir ve SQL sorgular\u0131n\u0131 ger\u00e7ekle\u015ftirebilirsiniz.<\/p>\n<ul>\n<li><strong>Ad\u0131m 1:<\/strong> \u0130lk ad\u0131mda, PDO nesnesi olu\u015fturman\u0131z gerekmektedir. PDO nesnesi, veritaban\u0131 sunucusuna ba\u011flant\u0131y\u0131 temsil eder. Ba\u011flanmak istedi\u011finiz veritaban\u0131 t\u00fcr\u00fcne g\u00f6re PDO nesnesini olu\u015fturman\u0131z gerekmektedir.<\/li>\n<li><strong>Ad\u0131m 2:<\/strong> PDO nesnesi olu\u015fturulduktan sonra, veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in gerekli bilgileri belirtmeniz gerekmektedir. Bu bilgiler, veritaban\u0131 sunucusunun adresi, kullan\u0131c\u0131 ad\u0131, \u015fifre gibi parametrelerdir.<\/li>\n<li><strong>Ad\u0131m 3:<\/strong> PDO nesnesine ba\u011flant\u0131y\u0131 sa\u011flamak i\u00e7in ba\u011flant\u0131 fonksiyonu kullan\u0131l\u0131r. Bu fonksiyon, PDO nesnesinin yap\u0131c\u0131 metodunda kullan\u0131l\u0131r ve belirtilen veritaban\u0131 sunucusuna ba\u011flant\u0131y\u0131 ger\u00e7ekle\u015ftirir.<\/li>\n<li><strong>Ad\u0131m 4:<\/strong> Ba\u011flant\u0131n\u0131n ba\u015far\u0131l\u0131 bir \u015fekilde ger\u00e7ekle\u015fti\u011fini kontrol etmek i\u00e7in hata ay\u0131klama i\u015flemleri yap\u0131labilir. Bu sayede, olas\u0131 bir ba\u011flant\u0131 hatas\u0131n\u0131 tespit edip, sorunu \u00e7\u00f6zmek i\u00e7in gerekli ad\u0131mlar\u0131 atabilirsiniz.<\/li>\n<\/ul>\n<table>\n<tr>\n<th>Veritaban\u0131 T\u00fcr\u00fc<\/th>\n<th>DSN (Data Source Name)<\/th>\n<\/tr>\n<tr>\n<td>MySQL<\/td>\n<td>mysql:host=hostname;dbname=databasename<\/td>\n<\/tr>\n<tr>\n<td>PostgreSQL<\/td>\n<td>pgsql:host=hostname;dbname=databasename<\/td>\n<\/tr>\n<tr>\n<td>SQLite<\/td>\n<td>sqlite:\/path\/to\/database.db<\/td>\n<\/tr>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Veritabani_Baglantisinda_Hata_Ayiklama_Nasil_Yapilir\"><\/span>Veritaban\u0131 Ba\u011flant\u0131s\u0131nda Hata Ay\u0131klama Nas\u0131l Yap\u0131l\u0131r?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131nda hata ay\u0131klama yapmak, geli\u015ftirme s\u00fcrecinde kar\u015f\u0131la\u015f\u0131lan sorunlar\u0131 tespit etmek ve \u00e7\u00f6zmek i\u00e7in olduk\u00e7a \u00f6nemlidir. Hatalar, veritaban\u0131 ba\u011flant\u0131s\u0131 s\u0131ras\u0131nda ortaya \u00e7\u0131kabilecek \u00e7e\u015fitli problemlerden kaynaklanabilir ve bu hatalar\u0131n giderilmesi gerekmektedir. Hata ay\u0131klama i\u015flemlerinde, hata mesajlar\u0131ndan yararlanarak sorunun kayna\u011f\u0131n\u0131 bulmak ve d\u00fczeltmek m\u00fcmk\u00fcnd\u00fcr.<\/p>\n<p>Bir veritaban\u0131 ba\u011flant\u0131s\u0131 s\u0131ras\u0131nda kar\u015f\u0131la\u015f\u0131lan hatalar, genellikle \u00e7e\u015fitli hata kodlar\u0131 veya hata mesajlar\u0131 \u015feklinde bildirilir. Bu hata mesajlar\u0131, geli\u015ftiricilerin sorunun nedenini anlamalar\u0131n\u0131 sa\u011flar. \u00d6rne\u011fin, &#8220;Access denied for user&#8221; \u015feklinde bir hata mesaj\u0131 al\u0131nd\u0131\u011f\u0131nda, kullan\u0131c\u0131n\u0131n veritaban\u0131na eri\u015fim izni olmad\u0131\u011f\u0131 anla\u015f\u0131l\u0131r. Bu durumda, kullan\u0131c\u0131n\u0131n veritaban\u0131na eri\u015fim iznini kontrol etmek ve gerekli izinleri sa\u011flamak gerekmektedir.<\/p>\n<p>Hata ay\u0131klama i\u015flemlerinde, hatalar\u0131n kayna\u011f\u0131n\u0131 bulmak i\u00e7in <strong>try-catch<\/strong> bloklar\u0131 kullan\u0131labilir. Bu bloklar, potansiyel hata nedenlerini yakalar ve \u00f6zel olarak tan\u0131mlanan hata mesajlar\u0131n\u0131 g\u00f6sterir. Bu sayede, kullan\u0131c\u0131lar\u0131n hatalar\u0131 takip etmesi ve \u00e7\u00f6z\u00fcm \u00fcretmesi kolayla\u015f\u0131r. Hata ay\u0131klama s\u00fcrecinde, hatalar\u0131n kayna\u011f\u0131n\u0131 bulmak i\u00e7in loglama gibi geli\u015ftirici ara\u00e7lar\u0131ndan da yararlan\u0131labilir.<\/p>\n<ul>\n<li><strong>try:<\/strong> \u00c7al\u0131\u015ft\u0131r\u0131lmas\u0131 gereken kodu i\u00e7eren bloktur. Bu blok i\u00e7inde hata olu\u015fmas\u0131 durumunda yakalanacak olan hata blo\u011fu bulunmal\u0131d\u0131r.<\/li>\n<li><strong>except:<\/strong> Hatan\u0131n yakalanaca\u011f\u0131 bloktur. Bu blok i\u00e7inde hatalar\u0131n t\u00fcr\u00fcne g\u00f6re \u00f6zel i\u015flemler ger\u00e7ekle\u015ftirilebilir.<\/li>\n<li><strong>finally:<\/strong> Her durumda \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 istedi\u011fimiz kodlar\u0131 i\u00e7eren bloktur. Hata olsa da olmasa da mutlaka \u00e7al\u0131\u015f\u0131r.<\/li>\n<\/ul>\n<p>Hata ay\u0131klama s\u00fcrecinde, <strong>echo<\/strong> veya <strong>print_r<\/strong> gibi fonksiyonlar kullan\u0131larak de\u011fi\u015fkenlerin de\u011ferleri ve s\u00fcre\u00e7lerin takip edilmesi sa\u011flanabilir. Bu fonksiyonlar sayesinde, geli\u015ftiriciye \u00f6nemli bilgiler sunulur ve sorunun kayna\u011f\u0131na h\u0131zl\u0131 bir \u015fekilde ula\u015fmas\u0131 sa\u011flan\u0131r. Ayr\u0131ca, hata ay\u0131klama i\u015flemlerinde kullan\u0131lan <strong>var_dump<\/strong> fonksiyonu ile de de\u011fi\u015fkenlerin t\u00fcrleri ve de\u011ferleri ayr\u0131nt\u0131l\u0131 bir \u015fekilde g\u00f6r\u00fcnt\u00fclenebilir.<\/p>\n<table>\n<tr>\n<th>Hata Kodu<\/th>\n<th>A\u00e7\u0131klama<\/th>\n<\/tr>\n<tr>\n<td>1045<\/td>\n<td>&#8220;Access denied for user&#8221; hatas\u0131d\u0131r. Kullan\u0131c\u0131n\u0131n veritaban\u0131na eri\u015fim izni yoktur.<\/td>\n<\/tr>\n<tr>\n<td>2002<\/td>\n<td>&#8220;Can&#8217;t connect to local MySQL server&#8221; hatas\u0131d\u0131r. MySQL sunucusuna ba\u011flant\u0131 sa\u011flanamam\u0131\u015ft\u0131r.<\/td>\n<\/tr>\n<tr>\n<td>1064<\/td>\n<td>&#8220;You have an error in your SQL syntax&#8221; hatas\u0131d\u0131r. SQL sorgusunda hata bulunmaktad\u0131r.<\/td>\n<\/tr>\n<\/table>\n<h2><span class=\"ez-toc-section\" id=\"Veritabani_Baglantisi_Sonucunda_Hangi_Islemler_Yapilabilir\"><\/span>Veritaban\u0131 Ba\u011flant\u0131s\u0131 Sonucunda Hangi \u0130\u015flemler Yap\u0131labilir?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Veritaban\u0131 ba\u011flant\u0131s\u0131 yap\u0131ld\u0131ktan sonra \u00e7e\u015fitli i\u015flemler ger\u00e7ekle\u015ftirilebilir. Bu i\u015flemler veritaban\u0131ndaki verileri okumak, veri eklemek, veri g\u00fcncellemek ve veri silmek gibi farkl\u0131 ama\u00e7lar\u0131 olan i\u015flemlerdir.<\/p>\n<p>Bir veritaban\u0131ndan veri okumak i\u00e7in <strong>SELECT<\/strong> sorgusu kullan\u0131l\u0131r. Bu sorgu, belirli bir tablodan veya tablolardan veri \u00e7ekmeyi sa\u011flar. Sorgu sonucunda elde edilen veriler, kullan\u0131c\u0131ya sunulabilir veya ba\u015fka bir i\u015flemde kullan\u0131labilir.<\/p>\n<p>Veri eklemek i\u00e7in <strong>INSERT<\/strong> sorgusu kullan\u0131l\u0131r. Bu sorgu, belirli bir tabloya yeni bir kay\u0131t eklemeyi sa\u011flar. Eklenen veri, veritaban\u0131nda kal\u0131c\u0131 olarak saklan\u0131r ve gelecekteki i\u015flemlerde kullan\u0131labilir.<\/p>\n<p>Veri g\u00fcncellemek i\u00e7in <strong>UPDATE<\/strong> sorgusu kullan\u0131l\u0131r. Bu sorgu, veritaban\u0131nda mevcut bir kayd\u0131 g\u00fcncellemeyi sa\u011flar. G\u00fcncellenen veri, daha sonra yap\u0131lacak okuma veya ba\u015fka bir i\u015flemde kullan\u0131labilir.<\/p>\n<p>Veri silmek i\u00e7in <strong>DELETE<\/strong> sorgusu kullan\u0131l\u0131r. Bu sorgu, belirli bir tablodan veya tablolardan veri silmeyi sa\u011flar. Silinen veri, veritaban\u0131ndan tamamen kald\u0131r\u0131l\u0131r ve geri al\u0131namaz.<\/p>\n<p>Bu i\u015flemler, veritaban\u0131 ba\u011flant\u0131s\u0131 sonras\u0131nda farkl\u0131 senaryolara uygun olarak kullan\u0131labilir. \u00d6rne\u011fin, bir e-ticaret sitesinde m\u00fc\u015fteri bilgilerini veritaban\u0131na eklemek veya g\u00fcncellemek i\u00e7in <strong>INSERT<\/strong> veya <strong>UPDATE<\/strong> sorgular\u0131 kullan\u0131labilir. Ayn\u0131 \u015fekilde, bir blog sitesinde yay\u0131nlanacak makaleleri veritaban\u0131ndan okumak i\u00e7in <strong>SELECT<\/strong> sorgular\u0131 kullan\u0131labilir.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>G\u00fcn\u00fcm\u00fczde bir\u00e7ok web uygulamas\u0131n\u0131n arkas\u0131nda bir veritaban\u0131 bulunmaktad\u0131r. Bu veritaban\u0131na eri\u015fim sa\u011flama ve veri i\u015fleme i\u015flemleri, do\u011fru bir veritaban\u0131 ba\u011flant\u0131s\u0131yla ger\u00e7ekle\u015ftirilir. Bu yaz\u0131da, veritaban\u0131 ba\u011flant\u0131s\u0131 nedir, PHP ile veritaban\u0131 ba\u011flant\u0131s\u0131 i\u00e7in hangi fonksiyonlar kullan\u0131l\u0131r, veritaban\u0131na ba\u011flant\u0131 i\u00e7in gerekli bilgiler nelerdir gibi temel konulara de\u011finece\u011fiz. Ayr\u0131ca, MySQL veritaban\u0131na nas\u0131l ba\u011flan\u0131l\u0131r, PDO k\u00fct\u00fcphanesi ile veritaban\u0131na nas\u0131l ba\u011flan\u0131l\u0131r, &hellip;<\/p>\n","protected":false},"author":6,"featured_media":4195,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[233],"tags":[],"class_list":["post-4196","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"acf":[],"_links":{"self":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/4196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/comments?post=4196"}],"version-history":[{"count":0,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/posts\/4196\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media\/4195"}],"wp:attachment":[{"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/media?parent=4196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/categories?post=4196"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sunucucozumleri.com\/blog\/wp-json\/wp\/v2\/tags?post=4196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}