<?php

class MysqlController extends ControllerBase
{
public $config = array();
public $mysql = NULL; public function initialize(){
$this->config = array(
'host'=>'localhost:3306',
'username'=>'daokrdb',
'password'=>'123456',
'dbname'=>'daokrdb',
);
}
public function indexAction()
{
// 创建连接
$mysql = new mysqli($this->config['host'], $this->config['username'], $this->config['password'], $this->config['dbname']);
/* change db to world db */
//$mysqli->select_db("world"); //可以利用select_db 改变数据库
// Check connection
if ($mysql->connect_error) {
die("连接失败: " . $mysql->connect_error);
}else{
$thread_id = $mysql->thread_id;
echo "mysql 的主机信息:".$mysql->host_info."<br/>";
echo "mysql 查看服务器信息:".$mysql->server_info."<br/>";
echo "mysql 获取最近一次数据库查询的信息:".$mysql->info."<br/>";
echo "mysql 获取当前系统状态:".$mysql->stat()."<br/>";
echo "mysql 是否线程安全:".$mysql->thread_safe()."<br>";
echo "mysql 返回当前连接的线程ID:".$thread_id."<br>";
$this->mysql = $mysql;
}
/* 设置客户端字符集 */
if (!$mysql->set_charset("utf8")) {
echo("设置utf8错误: ".$mysql->error."<br>");
} else {
echo("当前已设置的字符集:".$mysql->character_set_name()."<br>");
} /* kill 当前连接线程 */
//$mysql->kill($thread_id);
$this->insert();
$this->select();
$this->find();
$this->delete();
$this->update(); $mysql->close();
}
function select(){
$sql = "SELECT t.* FROM t_users t";
$result = $this->mysql->query($sql);
if($result->num_rows>0){
while ($row = $result->fetch_assoc())
{
echo "编号:".$row['id']." 标题:".$row['title']."<br>";
}
$result->close();
}
}
//增
function insert(){
$sql = "INSERT INTO t_users (title, author,submission_date) VALUES ('John', 'Doe', NOW())"; if ($this->mysql->query($sql) === TRUE) {
echo "新记录插入成功<br/>";
} else {
echo "Error: " . $sql . "<br>" . $this->mysql->error;
}
$name = "学习 PHP";
$query = "SELECT title FROM t_users WHERE title=?";
$binduser = $this->mysql->prepare($query);
if($binduser){
$binduser->bind_param('s', $name);//i - integer(整型)d - double(双精度浮点型)s - string(字符串)b - BLOB(binary large object:二进制大对象)
$binduser->execute();
$binduser->bind_result($title);
$binduser->fetch();
echo "bind_result 查询成功:".$title."<br/>";
$binduser->close();
}
}
//删
function delete(){
$sql = 'delete from t_users where title="d" ';
$result = $this->mysql->query($sql);
if($result){
echo "删除成功<br>";
}else{
echo "Error: " . $sql . "<br>" . $this->mysql->error;
}
}
//改
function update(){
$sql = 'update t_users set title="PHP webs" where id=31';
$result = $this->mysql->query($sql);
if($result){
echo "更新成功<br>";
}else{
echo "Error: " . $sql . "<br>" . $this->mysql->error;
}
} }

mysqli的方法测试小结的更多相关文章

  1. 基于USB3.0的双目相机测试小结之CC1605配合CS5642 双目 500w摄像头

    基于USB3.0的双目相机测试小结之CC1605配合CS5642  双目 500w摄像头 CC1605双目相机评估板可以配合使用柴草电子绝大多数摄像头应用 如:OV5640.OV5642.MT9P03 ...

  2. iSensor APP 之 摄像头调试 MT9D001 MT9P031 测试小结 200万像素和500万像素摄像头

    iSensor APP 之 摄像头调试  MT9D001 MT9P031 测试小结 iSensor app 非常适合调试各种摄像头,已测试通过的sensor有: l  OV7670.OV7725.OV ...

  3. 七中滤波方法测试matlab实现

    http://blog.163.com/xiaheng0804@126/blog/static/1205282120132129471816/ 创建两个混合信号,便于更好测试滤波器效果.同时用七中滤波 ...

  4. JavaScript回调函数及数组方法测试

    JavaScript回调函数及数组方法测试 具体代码如下: <!DOCTYPE html> <html lang="en"> <head> &l ...

  5. web测试小结

    今年5月份开始接触web测试,经过大半年的测试及学习,简单总结下 测试过程: 1.需求理解 2.测试策略.方案.用例编写及评审 3.测试环境搭建 4.测试执行 5.bug提单.问题跟踪 6.回归测试 ...

  6. 【转】Unity3D Transform中有关旋转的属性和方法测试

    Transform有关旋转个属性和方法测试 一,属性 1,var eulerAngles : Vector3 public float yRotation = 5.0F; void Update()  ...

  7. .NET 前台调用后台事件和方法实现小结

    转自:https://www.cnblogs.com/kinger906/p/3431842.html 除了下文讲的方式外,还有一种方式:html里面使用ajax写好提交方式和提交参数,然后以写一行带 ...

  8. mybatis-使用junit测试与main方法测试结果不一致问题

    今天使用ieda写mybatis程序感觉太不友好了,而且也没找到问题所在.问题:写的user.xml中的语句与输出的语句不一样.尝试了各种办法都没有解决. mybatis配置的使用的查询实体.xml ...

  9. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

随机推荐

  1. git学习笔记 ---删除文件

    在Git中,删除也是一个修改操作,我们实战一下,先添加一个新文件test.txt到Git并且提交: $ git add test.txt $ git commit -m "add test. ...

  2. tsql获取sqlserver某个库下所有表

    ) declare my_cursor cursor for (select [name] from SysObjects where XType='U') open my_cursor fetch ...

  3. glfw内存泄露测试

    1. glfwInit()   和  glfwTerminate()  放在主线程  循环次数 1    内存   14M 循环次数100    46M 循环次数1000   49M 2.  glfw ...

  4. 借助openpyxl处理excel

    一次处理excel中,原计划是借助excel中自带的工具进行处理,然而看到需要处理的列要达到30+,后来放弃了,用Python处理或许是一个不错的选择. 需求: 表格中每一列数据都是一个随机值,但是已 ...

  5. dom 页面位置和大小,元素的位置和大小,鼠标位置

    dom里面三种跟位置相关的元素 页面位置和大小,元素的位置和大小,鼠标位置 ①window:位置(position):(screenLeft, screenTop) [(screenX, screen ...

  6. 用java代码实现构造目录树

    怎么用java代码实现上面这样的目录树? 首先创建数据表 每条数据记录自己的id以及父节点的id 然后进入java代码部分: public String directory(String author ...

  7. 二十三、mysql索引管理详解

    一.索引分类 分为聚集索引和非聚集索引. 聚集索引 每个表有且一定会有一个聚集索引,整个表的数据存储在聚集索引中,mysql索引是采用B+树结构保存在文件中,叶子节点存储主键的值以及对应记录的数据,非 ...

  8. Ceph FS 挂载

    Cephfs使用挂载方式有两种 1.使用linux kernel挂载 mount 2.使用ceph-fuse挂载. 1.下图为mount挂载 mount -t ceph 10.110.180.112: ...

  9. PXE+Kickstart无人值守安装---CentOS7.

    1.安装一台CentOS7.x桌面版本系统的服务器,关闭selinux和防火墙: 2.在服务器安装pxe+kickstart无人值守需要的软件 : yum install dhcp tftp-serv ...

  10. systemd_journal_no_entries问题解决

    问题: #journalctl Journal file /var/log/journal/410/system@0.journal~ uses an unsupported feature, ign ...