数据访问

动态页面的特征:能够读取数据库,网页的内容都是从数据库读出来的,而不是写死的

所有的程序归根结底都是对数据的增删改查

如何用服务器的PHP来操作服务器的MySQL,Apache则是用来管理,接收用户的请求,返回用户的请求、信息

要想实现数据访问,首先要在PHP和MySQL之间建立一个数据的通道,即:建一个连接,造一个连接对象

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body>
<?php //建一个连接,造一个连接对象
$db = new MySQLi("localhost","root","数据库密码","1016");
//MySQLi可以小写,也可以大写;MySQL数据库 MySQLi数据库扩展,php里面针对MySQL数据访问扩展的一个类
//研究一个类,要先研究它的构造方法,因为你要new一个新的类,这就用到了构造方法
//$db = new MySQLi("localhost(host,连接数据库的地址,如果要连接别人的数据库就输入IP地址【因为所有互联网上的地址都是IP地址】或者是如果服务器上有域名的话也可以输入域名【域名就是www.baidu.com之类,域名会和IP地址绑定,输入域名之后会找到绑定的IP地址,根据IP地址,找到服务器】本地的话就是localhost,如果另一个人在同一个局域网下就是另一个人的IP地址)","root"(username,MySQL数据库的用户名),"数据库密码"(password,数据库密码【也可以不输入密码,有密码的话权限稍多】),"1016"(数据库名称),"3306"(port,数据库的端口号,默认为3306,Apache的为80,一般不写),""(socket,套接字,使应用程序能够读写与收发通讯协定(protocol)与资料的程序;一般不写)); //判断是否出错
/*if(mysqli_connect_error())//返回true,false
{
echo "连接失败!";
exit;
}*/ mysqli_connect_error()?die("连接失败"):"";//die方法,是不是出错了 //写SQL语句
$sql = "select * from Info"; //通过连接执行SQL语句,返回结果集对象(注:是一个对象,不是值!) query方法是一个连接方法
$reslut = $db->query($sql); //从结果集中读取数据,返回数组
//$attr = $reslut->fetch_all();
//读取所有数据,返回索引二维数组(即一条数据里面还有数据) fetch_all()这个方法没有提示,只能硬写,而且使用这个方法有条件,如果服务器配置不完全则不能正常使用,慎用! //$attr = $reslut->fetch_array(); //读取当前指针指向的数据,返回索引关联都存在的数组(执行第一次读第一条,执行第二次读第二条) //$attr = $reslut->fetch_assoc(); //返回关联数组 //$attr = $reslut->fetch_row(); //返回索引数组 //$attr = $reslut->fetch_object(); //返回对象 //var_dump($attr);
/*$arr = array();(外层定义了一个空数组)
while($attr = $reslut->fetch_row())(小数组取数据)
{
array_push($arr,$attr);(里层每取到一个小数组,就往大数组里面扔)
} var_dump($arr);*/ ?> </body>
</html>

1028morningtest.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <?php $db = new MySQLi("localhost","root","数据库密码","1016"); $sql = "delete from info where code='p009'"; $result = $db->query($sql);
//如果sql语句不是一个查询语句,则返回的结果集result就是true或者false,所以查询和增删改有不同的处理方式.如果是增删改语句直接判断result即可,查询的话需要用到前面说的几个方法去读 //var_dump($result); /*if($result)
{
echo "执行成功!";
}
else
{
echo "执行失败!";
}
*/ /*
$result->fetch_row();若果增删改语句用了如同左边的查询的方法,则会报错显示:
Fatal error: Call to a member function fetch_row()
出现上述错误的另一种情况是sql语句写错了
*/ ?> </body>
</html>

1028morningtest1.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head> <body> <?php //所有的程序都是对数据的增删改查 //阿帕奇起到的是管理作用 /*实现PHP对数据库的访问: /*$db = new MySQLi("localhost","root","数据库密码","test");//建立一个连接,造一个连接对象 mysqli_connect_error()? die("失败"):"";//判断连接是否出错 $sql = "select * from info";//sql语句 $result = $db->query($sql);//执行sql语句并返回一个结果集对象 $attr = $result->fetch_all();//遍历结果集对象并返回一个数组 var_dump($attr);//输出数组
*/ // == 是一个操作符,它检测两个变量是否相等,并返回一个布尔值 /*var_dump ((bool) "" ); // bool(false)
var_dump ((bool) 1 ); // bool(true)
var_dump ((bool) - 2 ); // bool(true)
var_dump ((bool) "foo" ); // bool(true)
var_dump ((bool) 2.3e5 ); // bool(true)
var_dump ((bool) array( 12 )); // bool(true)
var_dump ((bool) array()); // bool(false)
var_dump ((bool) "false" ); // bool(true)*/ //echo substr_replace($a,"***",0,5); //替换指定位置的字符串
//第一个参数是要替换的字符串
//第二个参数是替换的字符串
//第三个参数是开始位置
//第四个参数是替换长度 //echo str_replace("|","?",$a); //查找替换
//第一个参数是要查找的字符串
//第二个参数是要替换的字符串
//第三个参数是被操作的字符 ?> </body>
</html>

1028zixi.php

PHP数据访问基础知识(20161028)的更多相关文章

  1. ABP框架之——数据访问基础架构

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享阅读心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. 几乎所有的业务应用程序都要适用一种数据库基础架构,用来实现数据访问逻辑,以便从数 ...

  2. ABP框架之——数据访问基础架构(下)

    大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的一块垫脚石,我们一起精进. EF Core集成 EF Core是微软的ORM,可以使用它与主流的数据库提供商 ...

  3. php数据访问基础

    建一个连接(造一个连接对象) $db = new MySqli("IP地址或者域名,若果是本地则用localhost","用户名","数据库密码&qu ...

  4. 汇编寄存器(内存访问)基础知识之三---mov指令

     1 内存中字的存储 一个字型数据占2个内存单元,内存里面一个内存单元一个字节(8位),高地址单位放高8位,低地址单元放低8位. 注意:0号是地址单元,1是高地址单元(上是低地址,下面是高地址) (1 ...

  5. JSON数据解析 基础知识及链接收集

    JSON数据解析学习 JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式. JSON 是存储和交换文本信息的语法.类似 XML.但是JSON 比 ...

  6. php 数据访问基础

    <?php // 创建数据库连接 $con = mysql_connect("localhost",'root','') or die('error:'.mysql_erro ...

  7. R:ggplot2数据可视化——基础知识

    1 安装 # 获取ggplot2 最容易的就是下载整个tidyverse: install.packages("tidyverse") # 也可以选择只下载ggplot2: ins ...

  8. ADO.NET数据访问基础与综合应用2020年10月31日20:17:09学习笔记

    四.创建数据表 1.数据表的名称. 2.表中的字段名.数据类型.是否可以为空.字段的约束.必备的字段(通常会有一个ID,表示实体的唯一性:可以直接手写,也可以使用种子标识自动生成,给定起始值,给定增长 ...

  9. 集合对象与自定义javabean对象接收数据库查询的数据 (基础知识扫盲)

    一.集合对象(List,Map,数组)等对象接收数据库查询的记录,如果没有一条记录,就得到的内容为空的集合,不是null: 例如:List查不到记录得到的就是size=0的list 二.自定义的jav ...

随机推荐

  1. PowerDesigner如何把建好的表导入到数据库中,并且把注释也导入进去

    第一次接触这个软件,经过自己的捣鼓和百度,终于可以顺利的导入数据库中了,好开森,希望可以帮助到更多人. 数据库(mysql)其实和sqlserver差不多,以16.5版本为例 1.选中一个PDM项目, ...

  2. Nancy简单实战之NancyMusicStore(三):完善商品信息与管理

    前言 上一篇,我们做了不少准备,并且还把我们NancyFx音乐商城的首页打造好了.这一篇主要是完善我们在首页的商品浏览问题和添加对商品的管理. 下面开始正题: 商品详情 首先是查看单个商品的详情: 先 ...

  3. java虚拟机启动参数整理

    java启动参数 共分为三类其一是标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容:其二是非标准参数(-X),默认jvm实现这些参数的功能,但是并不保证所有jvm实现都满足,且不 ...

  4. tbl.js div实现的表格控件,完全免费,no jquery

    html上现在有比较好用的表格控件是datatable,但是编辑.按钮等部分是收费的,只有基础功能免费.而且尺寸发生变化时需要手工刷新等繁琐操作较多.所以我开发一个免费的供大家使用. 本项目已用于“虚 ...

  5. WinForm 控件(下)

    10.PictureBox 外观,Image可以选择图片路径行为,SizeMode可以设置图片大小布局方式 11.Imagelist--图片集 imageList1.Images[n]; 12.not ...

  6. asp.net core mvc剖析:启动流程

    asp.net core mvc是微软开源的跨平台的mvc框架,首先它跟原有的MVC相比,最大的不同就是跨平台,然后又增加了一些非常实用的新功能,比如taghelper,viewcomponent,D ...

  7. 读书笔记 effective c++ Item 9 绝不要在构造函数或者析构函数中调用虚函数

    关于构造函数的一个违反直觉的行为 我会以重复标题开始:你不应该在构造或者析构的过程中调用虚函数,因为这些调用的结果会和你想的不一样.如果你同时是一个java或者c#程序员,那么请着重注意这个条款,因为 ...

  8. java 文件操作 读取字节级数据(读取)

    package com.swust; import java.io.*; /* * 功能:按照双精度浮点型.整型.布尔型.字符型.和字符串型的顺序从名为sample.dat文件读取数据 * 分析:用F ...

  9. SharePoint 2016 配置应用程序商店

    最近碰到一个新的需求,就是要给SharePoint配置应用程序商店,挺有意思的,就简单的配置和记录了一下,分享给大家. 其实应用程序商店之前感觉很鸡肋,但是用起来还是不错的.不喜勿喷,呵呵. 首先需要 ...

  10. 《javascript个人理解,个人整理。》

    万事开头难. 本人做前端工程师,已几年,没有特别大的,已文字方式去做总结. 前段时间,早已经想好,但是迟迟没有去下笔!好在现在陆陆续续的写下去. 我知道这是一个很大的工程,但是我还是想做下去,不为别的 ...