{"id":40696677,"url":"https://github.com/empatisoft/pdo","last_synced_at":"2026-01-21T11:37:01.699Z","repository":{"id":56977508,"uuid":"266364976","full_name":"empatisoft/pdo","owner":"empatisoft","description":"PDO ile yazılmış olan bu ufak veritabanı sınıfı ile tüm ihtiyaçlarınızı kolaylıkla karşılayabilirsiniz.","archived":false,"fork":false,"pushed_at":"2020-05-23T16:45:39.000Z","size":12,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T22:33:58.582Z","etag":null,"topics":["database","mysql","pdo","pdo-mysql","pdo-php","php","query-builder"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/empatisoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-23T15:31:11.000Z","updated_at":"2020-05-23T16:50:37.000Z","dependencies_parsed_at":"2022-08-21T11:20:45.921Z","dependency_job_id":null,"html_url":"https://github.com/empatisoft/pdo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/empatisoft/pdo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empatisoft%2Fpdo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empatisoft%2Fpdo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empatisoft%2Fpdo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empatisoft%2Fpdo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/empatisoft","download_url":"https://codeload.github.com/empatisoft/pdo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/empatisoft%2Fpdo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28632773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-21T04:47:28.174Z","status":"ssl_error","status_checked_at":"2026-01-21T04:47:22.943Z","response_time":86,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["database","mysql","pdo","pdo-mysql","pdo-php","php","query-builder"],"created_at":"2026-01-21T11:37:01.039Z","updated_at":"2026-01-21T11:37:01.694Z","avatar_url":"https://github.com/empatisoft.png","language":"PHP","readme":"## EmpatiDB\nPDO ile yazılmış olan bu ufak veritabanı sınıfı ile tüm ihtiyaçlarınızı kolaylıkla karşılayabilirsiniz.\n\n## Composer ile kurulum (Terminal)\nProje ana dizininde aşağıdaki komutu çalıştırın.\n```\n$ composer require empatisoft/pdo:dev-master --prefer-source\n```\n## Composer ile kurulum (JSON)\ncomposer.json dosyanızın require değerlerine ekleyip \"composer update\" komutunu çalıştırın.\n```\n\"empatisoft/pdo\": \"dev-master\"\n```\n## Projenize elle ekleme\nSınıfı indirip proje dizininize kopyalayıp kullanabilirsiniz.\n\n## Örnek Kullanım\n```php\nini_set('display_errors', 1);\nini_set('display_startup_errors', 1);\nerror_reporting(E_ERROR);\n\ndefine('DB_SERVER', 'localhost');\ndefine('DB_USERNAME', 'root');\ndefine('DB_PASSWORD', 'root');\ndefine('DB_NAME', '_cms');\ndefine('DB_PORT', 3306);\ndefine('DB_CHARSET', \"utf8\");\n\ndefine('DIR', DIRECTORY_SEPARATOR);\ndefine('ROOT', $_SERVER['DOCUMENT_ROOT'].DIR);\n\nrequire_once ROOT.\"vendor\".DIR.\"autoload.php\";\n\n$db = new \\Empatisoft\\EmpatiDB();\n\n$result = $db\n    -\u003eselect('parent_id, content_id, published_at, created_at')\n    -\u003efrom('contents')\n    -\u003ewhere('is_published')\n    -\u003eorder('created_at')\n    -\u003elimit(15,0)\n    -\u003eparams([\n        ['is_published', '1', PDO::PARAM_INT]\n    ])-\u003eget('all');\n\necho \"\u003cpre\u003e\";\nprint_r($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\nDiğer örnekler için \"examples\" klasörünü inceleyebilirsiniz.\n\n## -\u003eget() Metodu\nVeritabanından veri çekme işleminde kullanılır, son parametre olarak kullanılmalıdır. 2 adet parametre alabilir.\n1. Tek satır mı, birden fazla satır mı çekileceğini belirtir. Varsayılan olarak \"all\" işaretlidir. Birden fazla kayıt çeker. Bu değer dışında kullanılanlar tek satır çektirir.\n2. PDO FETCH türünü belirtir. Varsayılan olarak \"PDO::FETCH_OBJ\" olarak işaretlidir.\n\nHer iki parametre de zorunlu değildir.\n\n## -\u003elastId() Metodu\nSon eklenen verinin birincil anahtar değerini döndürür.\n\n## -\u003enextId() Metodu\nBelirtilen kriterlere göre sonraki verinin birincil anahtar değerini döndürür.\n\"from, join, where, group, order, params\" metodları ile birlikte kullanılabilir.\nİki adet parametre alabilir.\n1. Birincil anahtar sütun adı\n2. params metoduna gönderilecek olan anahtar kelime. Varsayılan olarak \"current\" işaretli\n\n```php\n$result = $db\n    -\u003efrom('contents', 'c')\n    -\u003ejoin('contents_strings', 's', ['c.content_id', 's.content_id'])\n    -\u003ewhere('c.is_published', 'is_published')\n    -\u003eparams([\n        ['is_published', '1', PDO::PARAM_INT],\n        ['current', '5', PDO::PARAM_INT]\n    ])-\u003enextId('c.content_id');\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\n## -\u003eprevId() Metodu\nBelirtilen kriterlere göre önceki verinin birincil anahtar değerini döndürür.\n\"from, join, where, group, order, params\" metodları ile birlikte kullanılabilir.\nİki adet parametre alabilir.\n1. Birincil anahtar sütun adı\n2. params metoduna gönderilecek olan anahtar kelime. Varsayılan olarak \"current\" işaretli\n\n```php\n$result = $db\n    -\u003efrom('contents', 'c')\n    -\u003ejoin('contents_strings', 's', ['c.content_id', 's.content_id'])\n    -\u003ewhere('c.is_published', 'is_published')\n    -\u003eparams([\n        ['is_published', '1', PDO::PARAM_INT],\n        ['current', '5', PDO::PARAM_INT]\n    ])-\u003eprevId('c.content_id');\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\n## -\u003etotal() Metodu\nBelirtilen kriterlere göre toplam veri sayısını döndürür.\n\"from, join, where, group, params\" metodları ile birlikte kullanılabilir.\n1 adet parametre alabilir. Sayılacak olan sütun adı \n\n```php\n$result = $db\n    -\u003efrom('contents', 'c')\n    -\u003ejoin('contents_strings', 's', ['c.content_id', 's.content_id'])\n    -\u003ewhere('c.is_published', 'is_published')\n    -\u003ewhere('c.parent_id', 'parent_id')\n    -\u003eparams([\n        ['is_published', '1', PDO::PARAM_INT],\n        ['parent_id', '0', PDO::PARAM_INT]\n    ])-\u003etotal('c.content_id');\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\n## -\u003einsert() Metodu\nVeri eklemek için kullanılabilir. 3 adet parametre alabilir.\n1. Tablo adı\n2. Eklenecek olan veriler dizi olarak tanımlanır.\n3. Eklenen verinin birincil anahtar değerinin döndürülüp döndürülmeyeceği. Varsayılan olarak \"false\" işaretli. Verilmezse true/false değeri döner.\n\n```php\n$result = $db-\u003einsert('contents', [\n            'is_published' =\u003e '1',\n            'created_by' =\u003e '1111',\n            'published_at' =\u003e date('Y-m-d H:s:i')\n        ], true);\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\n## -\u003eupdate() Metodu\nVeri düzenlemek için kullanılabilir. \"where, params\" metotları ile birlikte kullanılabilir.\n\n2 adet parametre alabilir.\n1. Tablo adı\n2. Düzenlenecek olan veriler dizi olarak tanımlanır.\n\n```php\n$result = $db\n              -\u003ewhere('content_id')\n              -\u003eparams([\n                  ['content_id', '13', PDO::PARAM_INT]\n              ])\n              -\u003eupdate('contents', [\n                  'updated_at' =\u003e date('Y-m-d H:s:i'),\n                  'updated_by' =\u003e 1\n              ]);\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```\n\n## -\u003edelete() Metodu\nVeri silmek için kullanılabilir. \"where, params\" metotları ile birlikte kullanılabilir.\nTablo adı parametre olarak verilmelidir.\n\n```php\n$result = $db\n              -\u003ewhere('content_id')\n              -\u003eparams([\n                  ['content_id', '14', PDO::PARAM_INT]\n              ])\n              -\u003edelete('contents');\n\necho \"\u003cpre\u003e\";\nvar_dump($result);\necho \"\u003c/pre\u003e\";\nunset($db, $result);\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempatisoft%2Fpdo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fempatisoft%2Fpdo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fempatisoft%2Fpdo/lists"}