zoukankan      html  css  js  c++  java
  • PHP开发-最简单的数据库操作,使用ezSQL

    PHP数据库操作使用ezSQL来实现,简单好用。

    如果用的是mysql数据库,将下载的ezSQL文件中的mysql和shared连个文件夹拷贝到PHP工程目录中引用即可。

    在PHP文件中

    // Include ezSQL core  
    include_once "shared/ez_sql_core.php";  
    // Include ezSQL database specific component  
    include_once "mysql/ez_sql_mysql.php";  
    // Initialise database object and establish a connection  
    // at the same time - db_user / db_password / db_name / db_host  
    include_once ("Pagination.php");  
    $db = new ezSQL_mysql('root', 'abcdef', 'test_t', 'localhost');  

    使用示例:

    取数值:

    $var = $db->get_var("SELECT count(*) FROM users");

    取对象:

    $user = $db->get_row("SELECT name,email FROM users WHERE id = 2");

    取数组:

    复制代码
    $users = $db->get_results("SELECT name, email FROM users");
    foreach ( $users as $user )
    {
        // 使用对象语法
        echo $user->name;
        echo $user->email;
    }
    复制代码

    可以看出,其实函数返回值为二维数组,经foreach分解后,$user为每条记录的内容,可直接用$user->字段名的方式访问。

    get_results()还有另一种调用方式:

     
    // Extract results into the array $dogs (and evaluate if there are any results at the same time)..
    if ( $dogs = $db->get_results(“SELECT breed, owner, name FROM dogs”, ARRAY_A) )
    {
                // Loop through the resulting array on the index $dogs[n]
                foreach ( $dogs as $dog_detail )
                {
     
                            // Loop through the resulting array
                            foreach ( $dogs_detail as $key => $val )
                            {
                                        // Access and format data using $key and $val pairs..
                                        echo “<b>” . ucfirst($key) . “</b>: $val<br>”;
                            }
     
                            // Do a P between dogs..
                            echo “<p>”;
                }
    }
    else
    {
                // If no users were found then if evaluates to false..
                echo “No dogs found.”;
    }
    复制代码

    输出结果:

    Output:
    Breed: Boxer
    Owner: Amy
    Name: Tyson

    Breed: Labrador
    Owner: Lee
    Name: Henry

    Breed: Dachshund
    Owner: Mary
    Name: Jasmine

    执行Insert操作:

    $db->query("INSERT INTO users (id, name, email) VALUES (NULL,'justin','jv@foo.com')");

    调试信息

    // Display last query and all associated results

    $db->debug();

    四种方法:

    bool $db->query(query)
    var $db->get_var(query)
    mixed $db->get_row(query)
    mixed $db->get_results(query)

    ezSQL functions

    $db->get_results -- get multiple row result set from the database (or previously cached results)

    $db->get_row -- get one row from the database (or previously cached results)

    $db->get_col -- get one column from query (or previously cached results) based on column offset

    $db->get_var -- get one variable, from one row, from the database (or previously cached results)

    $db->query -- send a query to the database (and if any results, cache them)

    $db->debug -- print last sql query and returned results (if any)

    $db->vardump -- print the contents and structure of any variable

    $db->select -- select a new database to work with

    $db->get_col_info -- get information about one or all columns such as column name or type

    $db->hide_errors -- turn ezSQL error output to browser off

    $db->show_errors -- turn ezSQL error output to browser on

    $db->escape -- Format a string correctly to stop accidental mal formed queries under all PHP conditions

    $db = new db -- Initiate new db object.

    ezSQL variables

    $db->num_rows – Number of rows that were returned (by the database) for the last query (if any)

    $db->insert_id -- ID generated from the AUTO_INCRIMENT of the previous INSERT operation (if any)

    $db->rows_affected -- Number of rows affected (in the database) by the last INSERT, UPDATE or DELETE (if any)

    $db->num_queries -- Keeps track of exactly how many 'real' (not cached) queries were executed during the lifetime of the current script

    $db->debug_all – If set to true (i.e. $db->debug_all = true;) Then it will print out ALL queries and ALL results of your script.

    $db->cache_dir – Path to mySQL caching dir.

    $db->cache_queries – Boolean flag (see mysql/disk_cache_example.php)

    $db->cache_inserts – Boolean flag (see mysql/disk_cache_example.php)

    $db->use_disk_cache – Boolean flag (see mysql/disk_cache_example.php)

    $db->cache_timeout – Number in hours (see mysql/disk_cache_example.php)

    解决ezSQL编码问题

    编辑 ez_sql_mysql.php 文件,在96行添加一段代码

    if(is_resource($this->dbh) && get_resource_type($this->dbh) == 'mysql link') {
        @mysql_query('set names utf8',$this->dbh);
    }

    问题解决了!

  • 相关阅读:
    pandas_处理异常值缺失值重复值数据差分
    【C语言】输入10个人的成绩,求平均值
    【Markdown】新手快速入门基础教程
    【Python】 平方根
    【Python】 数字求和
    【Python】文件下载小助手
    【Python爬虫程序】抓取MM131美女图片,并将这些图片下载到本地指定文件夹。
    【Python】爬虫原理
    C语言最重要的知识点(电子文档)
    【Python】一些函数
  • 原文地址:https://www.cnblogs.com/wordblog/p/9193061.html
Copyright © 2011-2022 走看看