热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

PHP数据库框架Medoo1.6安装教程

Medoo是个轻量级的PHP数据库框架,帮助用户快速开发web应用。它支持多种sql数据库:MYSQL、MSSQL、SQLite、MariaDB等等,本篇文章教如安装Medoo和连接数据库。
开始

使用Medoo是非常简单的事!

Medoo1.2开始不支持PHP5.4或以下,若你使用的是1.2以前的版本,请选择菜单 中文文档(<1.2)

要求

1、PHP>=5.4, 必须支持PDO

2、支持 MySQL, MSSQL, SQLite 等数据库.

3、确保php_pdo_xxx (xxx = 数据库类型) 的xxx数据扩展已经正确安装并启用.

4、需要懂一些SQL知识.

PHP PDO扩展列表

MySQL, MariaDB -> php_pdo_mysql

MSSQL (Windows) -> php_pdo_sqlsrv

MSSQL (Liunx/UNIX) -> php_pdo_dblib / php_pdo_sqlsrv

Oracle -> php_pdo_oci

Oracle version 8 -> php_pdo_oci8

SQLite -> php_pdo_sqlite

PostgreSQL -> php_pdo_pgsql

Sybase -> php_pdo_dblib

PHP PDO安装

medoo需要PHP支持PDO扩展,请在安装相关扩展后继续以下操作

// 打开php.ini找到你想要的相应扩展,去掉前面的;号即可
// 将
;extension=php_pdo_mysql.dll
// 修改成
extension=php_pdo_mysql.dll
// 保存,重启你的PHP或者服务器
//如果PDO安装成功,你可以通过phpinfo()查看到它.

如果你通过终端(linux)命令行安装,系统会自动安装配置相应扩展

$ sudo apt-get install php5-mysql

使用 PHP Composer 安装

如果你通过php自带的依赖扩展安装它,可以使用下面的命令,或者你根据自己的需要修改即可。

$ composer require catfan/Medoo

源文件安装

这是最简单的方法,下载medoo源文件,放到你的PHP开发目录里,载入即可

require  &#39;medoo.php&#39;;

Medoo配置

这儿提供三种数据库的连接演示.

// If you installed via composer, just use this code to requrie autoloader on the top of your projects.
require &#39;vendor/autoload.php&#39;;
 
// Using Medoo namespace
use Medoo\Medoo;
 
$database = new Medoo([
    // required
    &#39;database_type&#39; => &#39;mysql&#39;,
    &#39;database_name&#39; => &#39;name&#39;,
    &#39;server&#39; => &#39;localhost&#39;,
    &#39;username&#39; => &#39;your_username&#39;,
    &#39;password&#39; => &#39;your_password&#39;,
 
    // [optional]
    &#39;charset&#39; => &#39;utf8&#39;,
    &#39;port&#39; => 3306,
 
    // [optional] Table prefix
    &#39;prefix&#39; => &#39;PREFIX_&#39;,
 
    // [optional] Enable logging (Logging is disabled by default for better performance)
    &#39;logging&#39; => true,
 
    // [optional] MySQL socket (shouldn&#39;t be used with server and port)
    &#39;socket&#39; => &#39;/tmp/mysql.sock&#39;,
 
    // [optional] driver_option for connection, read more from http://www.php.net/manual/en/pdo.setattribute.php
    &#39;option&#39; => [
        PDO::ATTR_CASE => PDO::CASE_NATURAL
    ],
 
    // [optional] Medoo will execute those commands after connected to the database for initialization
    &#39;command&#39; => [
        &#39;SET SQL_MODE=ANSI_QUOTES&#39;
    ]
]);
 
$database->insert("account", [
    "user_name" => "foo",
    "email" => "foo@bar.com"
]);

定制DSN链接

缺省情况下Medoo不支持的数据库您还可以使用自定义DSN连接,特别是一些新数据库,DSN参数比较特殊,或者如果要为连接添加更多的DSN参数值。

连接格式.

{driver}:{key}={value};{key}={value}
$database = new Medoo([
    // Started using customized DSN connection
    &#39;dsn&#39; => [
        // The PDO driver name for DSN driver parameter
        &#39;driver&#39; => &#39;mydb&#39;,
        // The parameters with key and value for DSN
        &#39;server&#39; => &#39;12.23.34.45&#39;,
        &#39;port&#39; => &#39;8886&#39;
    ],
    // [optional] Medoo will have different handle method according to different database type
    &#39;database_type&#39; => &#39;mysql&#39;,
 
    &#39;username&#39; => &#39;your_username&#39;,
    &#39;password&#39; => &#39;your_password&#39;
]);
 
// The final DSN connection string will be generated like this
mydb:server=12.23.34.45;port=8886

连接 SQLite

如果你要使用Medoo连接你的MSSQL数据库,你需要安装相关扩展:Windows安装pdo_sqlsrv、Linux/UNIX安装pdo_dblib. pdo_mssql 扩展已被PHP废弃,不建议使用.

$database = new Medoo([
    &#39;database_type&#39; => &#39;mysql&#39;,
    &#39;database_name&#39; => &#39;name&#39;,
    &#39;server&#39; => &#39;localhost&#39;,
    &#39;username&#39; => &#39;your_username&#39;,
    &#39;password&#39; => &#39;your_password&#39;,
 
    // [optional] The application name
    &#39;appname&#39; => &#39;test&#39;,
 
    // [optional] If you want to force Medoo to use dblib driver for connecting MSSQL database
    &#39;driver&#39; => &#39;dblib&#39;
]);

现在Medoo可以使用sqlsrv来驱动MSSQL,详见微软官方文档 https://docs.microsoft.com/en-us/sql/connect/php/connection-options?view=sql-server-2017.

$database = new Medoo([
    &#39;database_type&#39; => &#39;mysql&#39;,
    &#39;database_name&#39; => &#39;name&#39;,
    &#39;server&#39; => &#39;localhost&#39;,
    &#39;username&#39; => &#39;your_username&#39;,
    &#39;password&#39; => &#39;your_password&#39;,
 
    // [optional] MSSQL connection options
    &#39;application_intent&#39; => &#39;ReadOnly&#39;,
    &#39;attach_db_file_name&#39; => &#39;./database.sql&#39;,
    &#39;authentication&#39; => &#39;SqlPassword&#39;,
    &#39;column_encryption&#39; => &#39;Enabled&#39;,
    &#39;connection_pooling&#39; => 1,
    &#39;encrypt&#39; => 1,
    &#39;failover_partner&#39; => &#39;MultiSubnetFailover&#39;,
    &#39;key_store_authentication&#39; => &#39;KeyVaultPassword&#39;,
    &#39;key_store_principal_id&#39; => &#39;AzureName&#39;,
    &#39;key_store_secret&#39; => &#39;AzurePass&#39;,
    &#39;login_timeout&#39; => &#39;20&#39;,
    &#39;multiple_active_result_sets&#39; => 1,
    &#39;multi_subnet_failover&#39; => &#39;Yes&#39;,
    &#39;scrollable&#39; => &#39;buffered&#39;,
    &#39;trace_file&#39; => &#39;./path&#39;,
    &#39;trace_on&#39; => 1,
    &#39;transaction_isolation&#39; => PDO::SQLSRV_TXN_SNAPSHOT,
    &#39;transparent_network_ip_resolution&#39; => &#39;Enabled&#39;,
    &#39;trust_server_certificate&#39; => 1,
    &#39;wsid&#39; => &#39;Computer1&#39;
]);

连接 SQLite

$database = new medoo([
    &#39;database_type&#39; => &#39;sqlite&#39;,
    &#39;database_file&#39; => &#39;my/database/path/database.db&#39;
]);
 
$database->insert("account", [
    "user_name" => "foo",
    "email" => "foo@bar.com"
]);

以上就是PHP数据库框架Medoo1.6安装教程的详细内容,更多请关注 第一PHP社区 其它相关文章!


推荐阅读
  • MySQL for OPS 08:MHA 高可用
    MySQL for OPS 08:MHA 高可用 ... [详细]
  • 阿里云主机实战应用之centos7上的防火墙设置
    最近公司又上了一台服务器,以前都是用centos6系统,这次选择使用了centos7系统的安装镜像,因为现在程序版本在centos7上一般php默认就是5.4以上的,mysql也 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • MySQL/MariaDB/PerconaDB提权条件漏洞
    背景  2016年11月01日,国外安全研究员DawidGolunski在MyS ... [详细]
  • 1.ATP方式安装在ubuntu系统的apt软件仓库中,默认存在MySQL数据库,所以直接使用apt命令就可以安装。使用命令:aptapt-getin ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了CentOS7编译mysql8.0.12相关的知识,希望对你有一定的参考价值。步骤一:安装 ... [详细]
  • MYsql_linux mysql
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了linuxmysql相关的知识,希望对你有一定的参考价值。一数据库安装查看:[[email pr ... [详细]
  • 1、MySQL标志说明MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由 ... [详细]
  • SQL Server是什么
    本篇内容主要讲解“SQLServer是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQLServe ... [详细]
  • 在线问卷工具LimeSurvey
    什么是LimeSurvey?LimeSurvey是一款开源的在线问卷管理系统,具有问卷的设计、修改、发布、回收和统计等多项功能。它集成了调查程序开发、调 ... [详细]
author-avatar
看不见的风2502871717
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有