{"id":26172066,"url":"https://github.com/oktopost/squid","last_synced_at":"2025-07-17T22:35:51.252Z","repository":{"id":57030737,"uuid":"54305391","full_name":"Oktopost/Squid","owner":"Oktopost","description":"MySQL library build on top of PDO","archived":false,"fork":false,"pushed_at":"2025-05-22T17:51:40.000Z","size":841,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":16,"default_branch":"master","last_synced_at":"2025-05-22T17:54:24.410Z","etag":null,"topics":[],"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/Oktopost.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,"zenodo":null}},"created_at":"2016-03-20T07:14:39.000Z","updated_at":"2025-05-22T17:51:43.000Z","dependencies_parsed_at":"2025-04-14T20:35:53.636Z","dependency_job_id":null,"html_url":"https://github.com/Oktopost/Squid","commit_stats":{"total_commits":297,"total_committers":9,"mean_commits":33.0,"dds":0.4242424242424242,"last_synced_commit":"0a331f9d265331fe8ab33b7812d1f0e63a00543f"},"previous_names":[],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/Oktopost/Squid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oktopost%2FSquid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oktopost%2FSquid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oktopost%2FSquid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oktopost%2FSquid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Oktopost","download_url":"https://codeload.github.com/Oktopost/Squid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Oktopost%2FSquid/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265672372,"owners_count":23808845,"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":[],"created_at":"2025-03-11T19:53:03.917Z","updated_at":"2025-07-17T22:35:51.245Z","avatar_url":"https://github.com/Oktopost.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/Oktopost/Squid.svg?branch=master)](https://travis-ci.org/Oktopost/Squid)\n\n# Squid\nSquid is a MySQL library\n\nExample code:\n```php\n$select = $connector-\u003eselect();\n$select\n\t-\u003ecolumn('a.*', 'b.Modified')\n\t-\u003efrom('TableName', 'a')\n\t-\u003eleftJoin('AnotherTable', 'b', 'a.ID = b.TableNameID AND b.Status = ?', 'valid')\n\t-\u003ebyField('b.Name', 'Jhon')\n\t-\u003ewhere('DATE(a.Created) \u003e ?', new \\DateTime());\n\t\n$result = $select-\u003equery();\n\n$modifiedAt = $result[0]['Modified'];\n```\n\n\n# Basic Configuration\n```php\nuse Squid\\MySql;\n\n$mysql = new MySql();\n$mysql-\u003econfig()\n\t-\u003eaddConfig(\n\t'connection_name',\n\t[\n\t\t'db'\t=\u003e 'db_name',\n\t\t'host'\t=\u003e 'localhost',\n\t\t'pass'\t=\u003e 'password',\n\t\t'user'\t=\u003e 'user_name'\n\t]);\n\n// Aquire new connector object\n$connector = $mysql-\u003egetConnector('connection_name');\n\n// Aquiring commands\n$select = $connector-\u003eselect();\n$insert = $connector-\u003einsert();\n$delete = $connector-\u003edelete();\n```\n\n# Select\n## Columns\n\n### column method\n```php\npublic function column(...$columns)\n```\n\nSet the columns to select.\n\n_Example:_\n```php\n$select1-\u003ecolumn('a', 'NOW()');\n$select2-\u003ecolumn('a.a', 'a.b');\n```\nWill result respectively in:\n```sql\nSELECT a, NOW()\nSELECT a.a, a.b\n```\n\n### columns method\n```php\npublic function columns($columns, $table = false)\n```\nSet the columns to select using an array variable.\n\n_Example:_\n```php\n$select1-\u003ecolumns(['a', 'NOW()']);\n$select2-\u003ecolumns(['a', 'b'], 'a');\n```\nWill result respectively in:\n```sql\nSELECT a, NOW()\nSELECT a.a, a.b\n```\n\n\n## From\n### from method\n**NOTE:** A select can have only one main table. Calling this method a second time on the same select object will replace\nprevious table selection.\n\n```php\npublic function from($table, $alias = false)\n```\n\nDescribe the main table you want to select from. This method can't be used for selecting from multiplay tables. To do so, use the _join_ method.\n\n_Example:_\n```php\n$select1-\u003efrom('Table');\n$select2-\u003efrom('Table', 'a');\n```\nWill result respectively in:\n```sql\nSELECT * FROM Table\nSELECT * FROM Table a\n```\n\n# Where Clause\nThe where clause commands are available in select, insert, update, upsert and delete commands.\n\n## where method\n```php\npublic function where($exp, $bind = false)\n```\n\nProvide any costume where expression with optional bind parameters.\n\n_Example:_\n```php\n$select1-\u003ewhere('1 + 1 = ?', 2);\n$select2-\u003ewhere('Table.SomeFieldName = ? - ?', [3, 1]);\n$delete-\u003ewhere('NOW() \u003e DATE(NOW())');\n```\nWill result respectively in:\n```sql\nSELECT * WHERE 1 + 1 = 2\nSELECT * WHERE Table.SomeFieldName = 3 - 1\nDELETE * WHERE NOW() \u003e DATE(NOW())\n```\n\n## byField method\n```php\npublic function byField($field, $value) \n```\nSearch for field = value or, if value is an array, where field IN (values)\n\n_Example:_\n```php\n$select1-\u003ebyField('Name', ['Jhon']);\n$select1-\u003ebyField('ROUND(Price)', [23]);\n$select1-\u003ebyField('ID', [2, 3]);\n```\nWill result respectively in:\n```sql\nSELECT * WHERE Name = 'Jhon'\nSELECT * WHERE ROUND(Price) = 23\nSELECT * WHERE ID IN (2, 3)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foktopost%2Fsquid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foktopost%2Fsquid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foktopost%2Fsquid/lists"}