当前位置: 首页 > news >正文

专业的网站建设科技公司杭州seo价格

专业的网站建设科技公司,杭州seo价格,织梦网站后台进不去,网站视觉规范本次使用的demo是MySQL的示例数据库employees,点击下载地址,注意在导入的时候,在employees.sql文件中,将source改成你当前的目录。 PHP中的demo代码可以在ideone下载到。 这里使用的是mysqli的方式,其他还有mysql和pdo…

本次使用的demo是MySQL的示例数据库employees,点击下载地址,注意在导入的时候,在employees.sql文件中,将source改成你当前的目录。

PHP中的demo代码可以在ideone下载到。

这里使用的是mysqli的方式,其他还有mysql和pdo方式,官方有篇比较的3者区别的文章《Overview》。

一、连接数据库

1.1、连接

mysqli_connect

打开一个到 MySQL 服务器的连接。有面向对象风格和过程化风格。

$link = mysqli_connect("localhost", "root", "123456", "employees");//面向过程
$link = new mysqli("localhost", "root", "123456", "employees");//面向对象

如果成功则返回一个 MySQL 连接对象, 或者在失败时返回 FALSE

 

1.2、设置编码

set_charsetquery。query在下面就会有讲到,这里的话其实就是执行一条语句“SET NAMES utf8”。

设置在数据库间传输字符时所用的默认字符编码。

$link->query("SET NAMES utf8");//执行语句
    
mysqli_set_charset($link, 'utf8');//面向过程
$link->set_charset('utf8');//面向对象

成功时返回 TRUE, 或者在失败时返回 FALSE

 

二、查询

2.1、对数据库执行一次查询

mysqli_queryquery。返回的信息中并没有记录信息,需要再使用方法获取。

$sql = 'select * from employees limit 10';
$result = mysqli_query($link, $sql);//面向过程
$result = $link->query($sql);//面向对象

失败时返回 FALSE成功执行SELECT, SHOW, DESCRIBE或 EXPLAIN查询会返回一个mysqli_result 对象,其他查询则返回TRUE

接下来的2和3就是根据mysqli_result对象来的。

还有就是下面的所有方法都有面向过程和面向对象的方式,为了节省篇幅,下面例子都是面向对象的方式。

 

2.2、查询记录获取

fetch_all、fetch_array、fetch_assoc与fetch_row,返回的是array。

fetch_fields、fetch_field、fetch_object与fetch_field_direct,返回是stdClass Object。

data_seek

重置指针到起始,当做fetch_fields、fetch_assoc等读取数据的时候,指针会变化。

 

fetch_all

返回记录数组,这个方法有可以传递一个参数resulttype,三个常量MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH。默认是MYSQLI_NUM。

$data = $result->fetch_all(MYSQLI_ASSOC);

获取所有结果行并返回结果集作为关联数组数字数组,或两者兼而有之

下面的第一张返回结果图,引用的参数是MYSQLI_ASSOC,第二张引用的参数是MYSQLI_NUM。其实就是key的不同。

 

fetch_array

返回一条记录数组,或没有记录返回NULL。与fetch_all一样,也有个参数resulttype,三个常量供选择。默认是MYSQLI_BOTH。

$data = $result->fetch_array(MYSQLI_ASSOC);

 

fetch_assoc

没有resulttype参数,返回的是一条关联数组,或者没记录返回NULL。如果数组中包含相同的键名,那么将取最后一列。

 

fetch_row

同样没有resulttype参数,返回的是一条数字数组,或者没有记录返回NULL

 

fetch_fields

用此方法获取表中所有的字段信息,包括字段名、字段长度、所属表等。

返回多个对象的数组,如果没有就返回FALSE

 

fetch_field

与上面的方法相对,只会获取某一个字段信息。配合field_seek,可以根据需要获得某个位置的字段信息。

返回个对象的数组,如果没有就返回FALSE

$result->field_seek(1);
$fields = $result->fetch_field();

注意上面的代码,返回的将是第二个字段的信息。

 

fetch_object

可以传入两个参数class_name和params,返回一个关联对象,如果没有数据返回NULL

 

fetch_field_direct

可以传入一个参数fieldnr,也就是字段的位置。效果等效于上面的fetch_fieldfield_seek的配合。

 

2.3、插入更新等信息获取

employees表的主键原先不是自增长的,我后面改了下字段,目前表中有499999条数据。

$sql = "insert into employees(`birth_date`,`first_name`,`last_name`,`gender`,`hire_date`) values ('1988-10-9', 'pw', 'strick', 'M', '1988-10-9')";
$result = $link->query($sql);
var_dump($link->affected_rows);//受影响行数
var_dump($link->insert_id);//主键
//print_r(mysqli_error($link));//打印错误信息

上面的$result返回的将是一个boolean值,而主键和影响行数是需要从mysqli对象中获取。

 

三、预处理

3.1、添加更新等操作

预处理能有效的防止sql注入的产生,mysqli_stmt是预处理类。

$sql = "insert into employees(`birth_date`,`first_name`,`last_name`,`gender`,`hire_date`) values (?,?,?,?,?)";
$stmt = $link->prepare($sql);//获得预处理对象//bind_param中的第N个参数,必须得用变量赋值
$birth_date = '1989-10-9';$first_name = 'pw2';$last_name = 'strick2';$gender = 'M';$hire_date = '1988-10-9';
$stmt->bind_param('sssss', $birth_date, $first_name, $last_name, $gender, $hire_date);//绑定时使用变量绑定 //$stmt->bind_param('sssss', '1989-10-9', 'pw2', 'strick2', 'M', '1988-10-9');//不能使用这种方式 $stmt->execute();//执行预处理var_dump($stmt->insert_id);//主键 var_dump($stmt->affected_rows);//受影响行数

prepare

初始化一个预处理对象,传入string类型的查询语句。返回一个mysqli_stmt对象,失败则返回FALSE

bind_param

绑定预处理查询语句中的变量。第一个参数是指定数据类型。

 

3.2、查询

$sql = 'select * from employees limit ?';
$stmt = $link->prepare($sql);
$count = 10;
$stmt->bind_param("i", $count);
$stmt->execute();
$result = $stmt->get_result();//结果集取后的操作就和之前一样了

与上面不同的就是要先preparebind_param,然后execute,最后是get_result获取一个mysqli_result对象,接下来就是和上面的操作一样了。

 

demo数据库下载:

http://download.csdn.net/detail/loneleaf1/9271903

demo代码下载:

http://ideone.com/uSzZTi

 

参考资料:

http://segmentfault.com/a/1190000003841357   PHP mysqli 操作数据库




    本文转自 咖啡机(K.F.J)   博客园博客,原文链接:http://www.cnblogs.com/strick/p/4968562.html,如需转载请自行联系原作者


http://www.lbrq.cn/news/2678671.html

相关文章:

  • 如何给网站做排名竞价推广工具
  • 怎么找做网站的公司百度信息流广告怎么收费
  • 公司logo设计图片免费杭州seo中心
  • 做插画的网站seo基础入门免费教程
  • 网站高防空间考拉seo
  • 用建站ABC做的网站 怎么营销最强大的搜索引擎
  • 做网站的时候说需求的专业术语推广渠道有哪些平台
  • 兰州专业网站建设公司哪家好怎么上百度搜索
  • 游戏网址大全有哪些百度首页排名优化多少钱
  • 网站开发的书百度一下你就知道官网下载安装
  • 盐城网站建设网站制作推广百度极速版推广
  • 外贸网站需要多少个语言厦门seo哪家强
  • 微信网站模板源码下载网站排名工具
  • 响应式网站建设对企业营销太原网站优化
  • 网站美工工作流程性价比高seo排名
  • 北京建设网站中国旺旺(00151) 股吧
  • 广州澄网站建设公司如何做网站seo排名优化
  • 智慧城市展厅设计公司购买seo关键词排名优化官网
  • 怎么做电视台网站怎样创建网站
  • 做网站专业术语视频号推广方法
  • 网站建设调查内容有哪些推广营销网络
  • 国外做问卷调查的网站手机优化助手
  • 一级做爰网站深圳关键词排名优化系统
  • 网站开发框架系统免费个人网页制作
  • 178网站建设网站优化名词解释
  • wordpress更改中文版后还是英文优化关键词的作用
  • 高水平高职院校 建设网站徐州seo招聘
  • 好学校平台网站模板合肥百度关键词推广
  • 做一级域名网站多少钱专注网络营销推广公司
  • 做网站 用什么做数据库最好网上推广
  • Gartner 《IAM for LLM-Based AI Agents》学习心得
  • 11. React组件插槽用法
  • 关于微信小程序的笔记
  • ROS2学习(1)—基础概念及环境搭建
  • 基于数据结构用java实现二叉树的排序器
  • 每日算法刷题Day61:8.11:leetcode 堆11道题,用时2h30min