php 面向对象的方式访问数据库

时间:2022-12-16 07:52:52

php  面向对象的方式访问数据库

<body>
<?php //面向对象的方式访问数据库 //造对象
$db = new MySQLi("localhost","root","123","mydb"); //判断连接是否出错
/*if(mysqli_connect_error())
{
echo "连接失败!";
exit;
}*/ !mysqli_connect_error() or die("连接失败!"); //写SQL语句
$sql = "insert into Info values('p010','张三',true,'n002','1988-2-3')"; //执行SQL语句,查询语句返回结果集对象,其他语句返回true或false
$result = $db->query($sql); //从结果集对象中读取数据
//$attr = $result->fetch_all(MYSQLI_BOTH); //以二维数组的方式返回所有数据
//$attr = $result->fetch_array(); //返回当前指针指向的这条数据
//$attr = $result->fetch_assoc(); //返回当前指针指向的这条数据(关联数组)
//$attr = $result->fetch_object(); //返回对象
//$attr = $result->fetch_row(); //返回索引数组
//var_dump($attr);
/*
while($attr = $result->fetch_row()) //通过循环返回所有一维数组,另外可以在外面定义一个空数组,把循环出来的数通过array_push方法加到空数组中,输出一个2维数组,等同于fetch_all();
{
var_dump($attr);
}*/ //var_dump($result); ?>
</body>

例子

登陆界面

<body>
<h1>登录</h1>
<form action="dlchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<input type="submit" value="登录" />
</form>
</body>
<?php
$uid = $_POST["uid"];
$pwd = $_POST["pwd"]; //造对象
$db = new MySQLi("localhost","root","123","mydb");
//判断是否出错
!mysqli_connect_error() or die("连接失败!");
//写SQL语句
//容易被SQL注入攻击,不安全
//$sql = "select count(*) from Users where Uid = '{$uid}' and Pwd='{$pwd}'"; $sql = "select Pwd from Users where Uid='{$uid}'"; //执行SQL语句
$result = $db->query($sql); //取数据
$attr = $result->fetch_row(); if($attr[0] == $pwd)
{
header("location:main.php");
}
else
{
echo "登录失败!";

注册界面

<body>
<form action="zcchuli.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="text" name="pwd" /></div>
<div>姓名:<input type="text" name="name" /></div>
<div>性别:<input type="radio" value="1" name="sex" />男 <input type="radio" value="0" name="sex" />女</div>
<div>生日:<input type="text" name="birthday" /></div>
<input type="submit" value="注册" />
</form>
</body>
<?php
$uid = $_POST["uid"];
$pwd = $_POST["pwd"];
$name = $_POST["name"];
$sex = $_POST["sex"];
$birthday = $_POST["birthday"]; $s = $sex==1?true:false; //造对象
$db = new MySQLi("localhost","root","123","mydb"); //判断是否出错
!mysqli_connect_error() or die("连接失败!"); //写SQL语句
$sql = "insert into Users values('{$uid}','{$pwd}','{$name}',{$s},'{$birthday}',0)"; //执行SQL语句
$result = $db->query($sql); if($result)
{
header("location:zhuce.php");
}
else
{
echo "注册失败!";
}

php 面向对象的方式访问数据库的更多相关文章

  1. 非链接方式访问数据库--查询的数据集用Dataset来存储。

    private void Button_Click_1(object sender, RoutedEventArgs e) { //非链接方式访问数据库, //1创建连接对象(连接字符串) using ...

  2. ADO&period;NET 连接方式和非链接方式访问数据库

    一.//连接方式访问数据库的主要步骤(利用DataReader对象实现数据库连接模式) 1.创建连接对象(连接字符串) SqlConnection con = new SqlConnection(Co ...

  3. 对比传统方式访问数据库和SpringData访问数据库

    我们在写代码的时候应该一边写一边测试,这样的话可以尽快的找到错误,在代码写多了之后去找错误的话不容易给错误定位 传统方式访问数据库 1:创建一个Maven web项目 2:修改pom.xml为以下内容 ...

  4. 2017&period;11&period;12 web中JDBC 方式访问数据库的技术

    JavaWeb------ 第四章 JDBC数据库访问技术 在JavaWeb应用程序中数据库访问是通过Java数据库连接(JavaDateBase Connectivity简称JDBC)数据库的链接一 ...

  5. ASP&period;NET MVC- EF返回连接池用ADO&period;NET方式访问数据库

    用习惯了ADO.NET的方式去访问数据库,虽然ADO.NET写的代码没有EF简洁,可是也并不麻烦.而且EF在进行多表查询的那种方式是,EF需要先去数据库里定义外键,再进去一次代码生成,然后才能用INC ...

  6. Mybatis基于注解的方式访问数据库

    1. 使用方式:在Service层直接调用 package com.disappearwind.service; import org.springframework.beans.factory.an ...

  7. 使用Tomcat数据源的方式访问数据库&lpar;MySql&rpar; --Struts2框架应用与开发

    1.为方便测试首先创建数据库和表,然后插入测试数据   2.打开Tomcat服务器安装目录的conf/下的context.xml,配置context.xml文件. 在<Context>标签 ...

  8. 封装类的方式访问数据库&lpar;封装字符串、json&rpar;

    <?php class DBDA { public $host="localhost";//服务器地址 public $uid="root";//用户名 ...

  9. 以Ajax的方式访问数据库

    一:以Ajax的方式显示数据 我们都知道,如果用Ajax程序去加载一个动态页,则加载的实际上是这个动态页执行完毕后生成的静态HTML代码字符串. 1.以原有的格式显示数据 <?php heade ...

随机推荐

  1. Mac OS apache php配置

    1.进入Apache配置文件sudo vi /etc/apache2/httpd.conf    找到#LoadModule php5_module libexec/apache2/libphp5.s ...

  2. C&num; 委托和事件(一):最简单的委托和事件

    C#的事件基于委托,所以先说委托. 一切脱离实际场景的抽象概念新手看上去就像是在扯犊子,不错,我就是个新手.所以我需要一个实际的场景. 明天刚好考试(商务英语),考试上有两个角色(class):老师( ...

  3. 【python】类的访问限制

    在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以*地修改一个实例的na ...

  4. 一步步学习NHibernate&lpar;1&rpar;&mdash&semi;&mdash&semi;NHibernate介绍

    请注明转载地址:http://www.cnblogs.com/arhat 第十五章 从本章开始,老魏将给大家一起学习NHibernate这个流行的ORM框架,本来老魏想要和大家一起探讨微软的EF框架的 ...

  5. Aspose&period;Words组件介绍及使用—基本介绍与DOM概述

    1.基本介绍 Aspose.Words是一个商业.NET类库,可以使得应用程序处理大量的文件任务.Aspose.Words支持Doc,Docx,RTF,HTML,OpenDocument,PDF,XP ...

  6. MYSQL 体系结构图-space结构图

  7. 微信JS分享功能--微信JS系列文章(二)

    概述 在上一篇文章微信JS初始化-- 微信JS系列文章(一)中已经介绍了微信JS初始化的相关工作,接下来本文继续就微信JS的分享功能进行描述,供大家参考. 代码 $(document).ready(f ...

  8. gym 101628

    前几天感冒了三天没怎么写题...今天好很多了打个三星场找点手感. 不行啊我好菜啊.只会8个..补题的话,再说吧.G题感觉值得一补. 补了G,K不想写B不会. 说实话这个三星场还是很新人向的,知识点也蛮 ...

  9. JS中的作用域(一)-详谈

    本篇文章在于详细解读JavaScript的作用域,从底层原理来解释一些常见的问题,例如变量提升.隐式创建变量等问题,在和大家一起交流进步的同时,也算对自己知识掌握的记录,方便以后复习 首先,直接捡干的 ...

  10. Android生成二维码--保存和分享二维码图片

    之前写过生成自定义二维码的两篇文章:<Android生成自定义二维码><Android生成二维码–拍照或从相册选取图片>,下面就介绍一下Android应用内如何保存以及分享二维 ...