<?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. AX 2012 model应用

    说句实话,AX2012 model真心不好用,当你开发好,把Model到入到客户环境时, 要防止有冲突,假如出现冲突的话,还必须去删除另外一个Model里面冲突的代码,真心麻烦. 下面给一个ax 导入 ...

  2. ultraedit 实际应用技巧

    Tip 1: Alt+C 列模式可以说最初选择使用这个文本编辑软件,原因很简单,就是因为“她”具有列编辑模式.如果您还不知道什么是列编辑模式的话,我想您应该好好研究一下啦.这是一个超级“赞”的功能.在 ...

  3. Java 哈希表

    public int firstUniqChar(String s){ int[] freq=new int[26]; for(int i=0;i<s.length();i++){ freq[s ...

  4. js 简单的滑动4

    js 简单的滑动教程(四)   作者:Lellansin 转载请标明出处,谢谢 在大概的了解滑动的基本原理和怎么去实现之后,现在我们将更深入的去讨论js的滑动. 相信细心的朋友应该已经发现了,在本教程 ...

  5. Java调用WebService方法总结(2)--JAX-WS调用WebService

    用JAX-WS(Java API for XML Web Services)调用WebService不需要引入其他框架,都是JDK自带的:文中所使用到的软件版本:Java 1.8.0_191.Dom4 ...

  6. centos7 设置 查看 开机 启动项

    1.查看开机自启项centos7自启项已不用chkconfig改为:systemctl list-unit-files左边是服务名称,右边是状态,enabled是开机启动,disabled是开机不启动 ...

  7. MySql注释的写法

    每一种语言都有它的注释方式,代码量少的时候还可以,随着代码量越来越多,代码注释的重要性也越发凸显. 在mysql中主要有三种方式: 1.常用的方式,跟在css中那些注释一样 :/* 内容 */ /* ...

  8. Swift 4 中的泛型

    作为Swift中最重要的特性之一,泛型使用起来很巧妙.很多人都不太能理解并使用泛型,特别是应用开发者.泛型最适合libraries, frameworks, and SDKs的开发.在这篇文章中,我将 ...

  9. iOS获取屏幕亮度及设置

    平常很少有功能点需要调整屏幕亮度,但是也会有一些特殊场景,类似支付宝微信的二维码提供扫描时会使屏幕程序高亮状态,查了下资料做了一下简单记录: 获取当前屏幕的亮度 CGFloat value = [UI ...

  10. 利用.bat脚本使得可运行jar开机自动运行

    1.利用Elipse到处可运行的jar包 2.写.bat脚本[点此下载],相应目录自己根据需要修改即可 3.将此脚本放在"启动"文件夹中