{"id":17344919,"url":"https://github.com/jaredhowland/database","last_synced_at":"2025-04-14T20:24:20.509Z","repository":{"id":56996603,"uuid":"72145287","full_name":"jaredhowland/database","owner":"jaredhowland","description":"Simple PDO wrapper for MySQL and SQLite databases","archived":false,"fork":false,"pushed_at":"2023-09-14T04:46:22.000Z","size":61,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-02-15T04:40:22.115Z","etag":null,"topics":["pdo-wrapper","wip"],"latest_commit_sha":null,"homepage":"https://github.com/jaredhowland/database","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/jaredhowland.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-10-27T20:23:29.000Z","updated_at":"2024-02-15T04:40:22.116Z","dependencies_parsed_at":"2024-10-15T16:27:53.747Z","dependency_job_id":"fe210c59-b710-4d5a-87f4-c064841358bf","html_url":"https://github.com/jaredhowland/database","commit_stats":{"total_commits":22,"total_committers":4,"mean_commits":5.5,"dds":0.4545454545454546,"last_synced_commit":"879f7c49861243ddb4fdc410fcecf9876831c09b"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhowland%2Fdatabase","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhowland%2Fdatabase/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhowland%2Fdatabase/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jaredhowland%2Fdatabase/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jaredhowland","download_url":"https://codeload.github.com/jaredhowland/database/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248953477,"owners_count":21188646,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["pdo-wrapper","wip"],"created_at":"2024-10-15T16:27:51.323Z","updated_at":"2025-04-14T20:24:20.490Z","avatar_url":"https://github.com/jaredhowland.png","language":"PHP","readme":"# Simple PDO Wrapper\n\nA simple PDO-wrapper for accessing MySQL and SQLite databases.\n\n# Installation\n\nInstall with composer:\n\n`$ composer require jaredhowland/simple-pdo-wrapper:~2.0`\n\n# Examples\n\nHere are a few examples of how to use this wrapper. More comprehensive documentation is coming later (hopefully).\n\n## Instantiate\n```\n$db = new \\Database\\Database();\n```\n\n## SQLite Connection\n\n```\n$db-\u003edriver('sqlite')\n   -\u003edbPath('sqlite.db')\n   -\u003econnect();\n```\n\n## MySQL Connection\n\n```\n$db-\u003edriver('mysql')\n   -\u003ehost('localhost')\n   -\u003edbName('DB-NAME')\n   -\u003eusername('USERNAME')\n   -\u003epassword('PASSWORD')\n   -\u003econnect();\n```\n\n## SELECT\n\nThis example uses `bindValue` and returns an associative array of all the results.\n\n```\n$results = $db-\u003eselect('`column1`', '`column2`')\n   -\u003efrom('`table`')\n   -\u003ewhere(\"`column1` = :column1 AND `column2` = :column2\")\n   -\u003eorderBy('`platform`')\n   -\u003ebind(['column1' =\u003e $column1Value, 'column2' =\u003e $column2Value])\n   -\u003efetchAll();\n```\n\n## INSERT\n\n```\n$db-\u003einsert('`table`')\n   -\u003ecolumns('`column1`', '`column2`')\n   -\u003evalues('value1', 'value2')\n   -\u003eexecute();\n```\n\n## DELETE\n\n```\n$db-\u003edelete('`table`')\n   -\u003ewhere(\"`column` = 'value'\")\n   -\u003eexecute();\n```\n\n## UPDATE\n\n```\n$db-\u003eupdate('`table`')\n   -\u003eset(\"`column` = 'value'\")\n   -\u003ewhere(\"`column2` = 'value2'\")\n   -\u003eexecute();\n```\n\n## REPLACE\n\n`REPLACE` works exactly like `INSERT`, except that if an old row in the table has the same value as a new row for a `PRIMARY KEY` or a `UNIQUE` index, the old row is deleted before the new row is inserted.\n\n```\n$db-\u003ereplace('`table`')\n   -\u003ecolumns('`column`', '`column2`')\n   -\u003evalues('value1', 'value2')\n   -\u003eexecute();\n```\n\n## LEFT JOIN\n\n```\n$results = $db-\u003eselect(`table1`.`column`)\n   -\u003efrom(`table1`)\n   -\u003eleftJoin(`table2`, `table3`)\n   -\u003eon(`table2`.`column` = `table1`.`column` AND `table3`.`column` = `table1`.`column`)\n   -\u003efetchAll();\n```\n\n## TRUNCATE\n\n```\n$db-\u003etruncate('`table`');\n```\n\n## mysqldump\n\nThis method will dump the entire database into the specified file.\n\n```\n$db-\u003emysqldump('path/to/dump/file.sql');\n```\n\n## Quick Reference\n\nIf you want a quick reference on the syntax of various SQL statements, use `sqlRef()`.\n\n```\n$db-\u003esqlRef();\n```\n\n### Output\n\n```\nSELECT:\nSELECT `column1`, `column2` FROM `table` WHERE `column1` = 'value' GROUP BY `column1` ORDER BY `column2` LIMIT 2\n\nINSERT:\nINSERT INTO `table` (`column1`, `column2`) VALUES (`value1`, `value2`) ON DUPLICATE KEY UPDATE `column1` = 'value'\n\nREPLACE:\nREPLACE INTO `table` (`column1`, `column2`) VALUES ('value1', 'value2')\n\nDELETE:\nDELETE FROM `table` WHERE `column` = 'value' ORDER BY `column` LIMIT 2\n\nUPDATE:\nUPDATE `table` SET `column1` = 'value1', `column2` = 'value2' WHERE `column1` = 'value1' ORDER BY `column2` LIMIT 2\n\nLEFT JOIN:\nSELECT `table`.`column` FROM `table1` LEFT JOIN (`table2`, `table3`) ON (`table2`.`column` = `table1`.`column` AND `table3`.`column` = `table1`.`column`)\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhowland%2Fdatabase","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjaredhowland%2Fdatabase","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjaredhowland%2Fdatabase/lists"}