Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jublo/monty
A simple MySQL/MariaDB database wrapper in PHP.
https://github.com/jublo/monty
mariadb mysql mysql-database php
Last synced: 17 days ago
JSON representation
A simple MySQL/MariaDB database wrapper in PHP.
- Host: GitHub
- URL: https://github.com/jublo/monty
- Owner: jublo
- License: lgpl-3.0
- Created: 2011-03-10T19:13:56.000Z (almost 14 years ago)
- Default Branch: master
- Last Pushed: 2017-09-23T12:11:11.000Z (over 7 years ago)
- Last Synced: 2024-11-15T05:19:10.024Z (about 2 months ago)
- Topics: mariadb, mysql, mysql-database, php
- Language: PHP
- Homepage: http://www.jublo.net/projects/monty
- Size: 136 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- License: LICENSE
Awesome Lists containing this project
README
monty
=====
*A simple MySQL/MariaDB database wrapper in PHP.*Copyright (C) 2011-2017 Jublo Solutions
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see .### Requirements
- PHP 5.5.0 or higher
First steps
-----------```php
// load monty
require 'monty/loader.php';// get the MySQL connector
$connector = Monty::getConnector();// connect to a database
$connector->open('youruser', 'fancypass', 'holydatabase');// not running the database on localhost? add a 4th parameter like this:
// $db->open('youruser', 'fancypass', 'holydatabase', 'pentagon.example.com');// need a custom port number? add a 5th parameter like this:
// $db->open(
// 'youruser', 'fancypass', 'holydatabase',
// 'pentagon.example.com', 3307
// );// want a persistent connection? add a 6th parameter like this:
// $db->open(
// 'youruser', 'fancypass', 'holydatabase',
// 'pentagon.example.com', 3307, MONTY_OPEN_PERSISTENT
// );// now there's two operation modes:
// the EASY one first
$table = $connector->table('themaintable');// want multiple tables?
// $table->add('anothertable');// set a condition
$table->where('field', '=', 'value');// there are some shortcuts, like this one:
// $table->eq('field', 'value');// switching to DISTINCT results is possible, too:
// $table->select(MONTY_SELECT_DISTINCT);// you might also want to use ands/ors
// $table->or(
// $table->eq('field1', 'value1'),
// $table->like('field2', 'value2')
// );
// equals:
// ... WHERE field1 = "value1" OR field2 LIKE "value2"// peek at the generated sql code without executing it
echo $table->sql() . '
';// loop through the results and display them
for($i = 0; $i < $table->rows(); $i++) {
$row_array = $table->next();
echo $row_array['field'] . ' = ' . $row_array['value'] . '
';
}// you could also have got an object instead, like this:
// $row = $table->next(MONTY_NEXT_OBJECT);
// echo $row->field;// for setting the object return type as default, put this statement
// at the top of your code:
// $table->setReturnType(MONTY_ALL_OBJECT);// you can also run raw SQL like this (the nerd mode):
$connector->query('SELECT * FROM themaintable WHERE field = "value"');
echo $connector->rows();// check if a certain table exists at the moment:
if ($connector->tableExists('the_table')) {
// do something
}// update values
$values = [
'column1' => 'Test',
'column2' => 12345
];
$table->update($values);// update a single value
$table->update('column1', 'Test');// update by using the content of another field
// like: SET column2 = column1
$table->update('column2', ['column1']); // note the array syntax for value```