Blogger Information
Blog 35
fans 0
comment 0
visits 22244
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
php基础知识(mysqli的查询操作)--2018年9月4日11:26:18
Hi的博客
Original
678 people have browsed it

对于mysqli的数据库查询操作有许多方法,我用的方法是面向对象的查询操作.

以下是我的代码.

实例

<?php
require "config.php";//连接存放数据库的信息
error_reporting(E_ALL ^E_WARNING);//使用函数忽略告警
$mysqli = new mysqli($db['host'],$db['user'],$db['pass'], $db['name']);//使用数组进行数据库的连接,
if ($mysqli ->connect_errno) {//测试数据库是否连接成功
    die('连接错误'.$mysqli->connect_errno.': '. $mysqli->connect_error);//连接失败的话返回错误信息
}//else{
//    exit('连接成功');//连接成功的时候要注销掉
//};

$mysqli->set_charset($db['charset']);//设定数据库的默认编码
echo "<hr>";
echo "<h3>MySQLi的查询操作</h3>";


//准备SQL语句,其中?是占位符
$sql = "SELECT `id`,`email`  FROM `user` WHERE `email` LIKE  ? ";//;LTKE 配合通配符使用

// 创建预处理对象
$stmt = $mysqli->stmt_init();

if ($stmt->prepare($sql)) {
    //绑定参数
    $stmt->bind_param('s', $email);
/*
 * 1. 该函数绑定了 SQL 的参数,且告诉数据库参数的值。 第一个值是参数填的是数据的类型。i 字符告诉数据库该参数为整数型。

参数有以下四种类型:

i - integer(整型)
d - double(双精度浮点型)
s - string(字符串)
b - BLOB(布尔值)

每个参数都需要指定类型。
 */
    //设置参数
    $email = '%io%';//邮箱包含io的,%是通配符

    if ($stmt->execute()) {//执行这条语句

        //一次性获取完所有的结果集并放到php缓存区
        $stmt->store_result();

        //将结果集中的列绑定到变量上
        $stmt->bind_result($id, $email);

        //结果集是否不为空,只有不为空的时候才遍历
        if ($stmt->num_rows > 0) {
            // 循环遍历结果集
            // fetch()每次获取一条记录,并将指针自动下移
            while ($stmt->fetch()) {
                echo '<p>id:'.$id.'---邮箱:' .$email.'</p>';
            }
        } else {
            exit('<p>当前表中没有数据</p>');
        }

        // 释放结果集
        $stmt->free_result();
    } else {
        //返回执行阶段的出错信息
        exit($stmt->errno. ': ' . $stmt->error);
    }
} else {
    //返回sql语句检测阶段的出错信息
    exit($stmt->errno. ': ' . $stmt->error);
}


//注销stmt对象
$stmt->close();

//关闭连接
$mysqli->close();

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments