是一个简单的使用PDO的PHP MySQL库。

v1.0.0 2021-05-13 16:37 UTC

This package is not auto-updated.

Last update: 2024-09-28 07:28:39 UTC


README

是一个简单的使用PDO的PHP MySQL库。

安装

  1. 您可以通过composer安装。
composer require jameslevi/hadron
  1. 如果您没有使用任何PHP框架,请将以下代码粘贴到您的项目上方。
require_once __DIR__.'/vendor/autoload.php';
  1. 将hadron导入到您的项目中。
use Graphite\Component\Hadron\Hadron;

基础

这是一个如何在项目中实现hadron的基本示例。

<?php

// Import hadron into your project.
use Graphite\Component\Hadron\Hadron;

// Create a new Hadron instance.
$conn = new Hadron('database');

// Set your MySQL username and password.
$conn->setCredentials('username', 'password');

// Create a new query.
$query = $conn->query('SELECT * FROM users WHERE id = :id LIMIT :start, :offset');

// Set the value of the parameters.
$query->addParam('id', 1)
      ->addParam('start', 0)
      ->addParam('offset', 10);

// Get the results from the query.
$results = $query->get();

// Close connection from the database.
$conn->close();

连接到您的MySQL数据库

  1. 创建一个新的hadron实例。
$conn = new Hadron('database');
  1. 您也可以使用这个魔法方法。
$conn = Hadron::database();
  1. 设置您的MySQL凭据。
$conn->setCredentials('username', 'password');
  1. 您也可以设置服务器名称。
$conn->setServerName('localhost');
  1. 如果您不使用3306,可以设置MySQL端口号。
$conn->setPort(3303);
  1. 将默认字符集从utf8mb4更改为您的选择。
$conn->setCharset('utf8mb4');
  1. 只有在调用connect方法后才会建立连接。
$conn->connect();
  1. 您可以使用isConnected方法确定是否建立了连接。
$conn->isConnected();
  1. 使用完毕后,始终关闭每个连接。
$conn->close();

从数据库获取数据

  1. 当您的查询期望从数据库返回结果时,请使用get方法。
$query = $conn->query('SELECT first_name, last_name, gender FROM members')->get();
  1. 您可以计算返回的行数。
$count = $query->numRows();
  1. 您可以检查查询是否返回了空结果。
$query->empty();
  1. 您可以获取结果的第一行和最后一行。
var_dump($query->first());
var_dump($query->last());
  1. 您也可以通过索引号获取行。
var_dump($query->get(11)); // Return the 11th result.
  1. 如果查询只返回一行,您可以直接获取每个列。
echo $query->first_name . ' ' . $query->last_name;
  1. 如果查询返回多行,您可以通过对象属性访问每个列。
foreach($query->all() as $member)
{
    echo $member->name;
}
  1. 您可以将结果作为数组返回。
var_dump($query->toArray());
  1. 您也可以将结果作为json返回。
echo $query->toJson();

执行查询

  1. 您可以使用exec方法执行预期没有结果的查询,如UPDATE、INSERT和DELETE。
$query = $conn->query('UPDATE members SET first_name = :first_name WHERE id = :id');

$query->addParam('first_name', 'James Levi')
      ->addParam('id', 1);
      
$query->exec();
  1. 您可以确定查询是否成功。
$query->success();
  1. 您也可以知道您的查询影响了多少行。
echo $query->affectedRows();

占位符

您可以使用占位符而不是将字符串连接来构建SQL查询,将值注入到SQL查询中。

$query = $conn->query('INSERT members (`first_name`,`last_name`,`gender`) VALUES(:first_name, :last_name, :gender)');

$query->addParam('first_name', 'James Levi')
      ->addParam('last_name', 'Crisostomo')
      ->addParam('gender', 'male');
      
$query->exec();

您也可以直接在查询方法中传递您的占位符。

$query = $conn->query('SELECT * FROM members WHERE id = :id', array('id' => 1))->get();

贡献

对于问题、担忧和建议,您可以通过nerdlabenterprise@gmail.com给詹姆斯·克里斯托摩发送电子邮件。

许可

本软件包是一个开源软件,根据MIT许可证授权。