用示例详解php连接数据库操作

首先数据库mydb有三个表:

1  info表

2  users表

3  sname表

首先先做一个登录主页面 login_1.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>
<h1>登录页面</h1>
 <!--数据提交到chuli_1.php页面,提交的方法为POST方法-->
<form action="chuli_1.php" method="post">
<div>用户名:<input type="text" name="uid" /></div>
<div>密码:<input type="password"  name="pwd"/></div>
<div><input type="submit" value="登录"/></div>
</form>
</body>
</html>

在创建一个chuli_1.php来处理提交的数据

<?php
//变量$uid值通过POST方法取得传递过来的uid值
$uid =$_POST["uid"];
//变量$pwd值通过POST方法取得传递过来的pwd值
$pwd =$_POST["pwd"];
//造一个mysql连接对象$db
$db = new MySQLi("localhost","root","root","mydb");
//查询数据库users表,满足传递过来的$uid值和users表中的uid值相同
$sql ="select pwd from users where uid = ‘{$uid}‘";
//$result是一个变量,result是访问数据库的对象,它有一个query方法,即根据指定的$sql查询语句去执行一个查询,并将结果返回给$result
$result = $db->query($sql);
//用$a接收结果,fetch_row为一条数据
$a = $result->fetch_row();
//判断通过POST传递的$pwd值非空(避免sql注入攻击)并且和users表的uid对应的pwd值相同
if(!empty($pwd) && $a[0]==$pwd)
{
    //header("location:main_1.php"); // header() 函数向客户端发送原始的 HTTP 报头
    //跳转到这个地址:main_1.php,即返回之前页面
    echo"<script>window.location = ‘main_1.php‘;</script>";
}
else
{
    echo"用户名或密码错误!";
}

?>
时间: 2024-08-26 20:39:30

用示例详解php连接数据库操作的相关文章

socket编程的同步、异步与阻塞、非阻塞示例详解

socket编程的同步.异步与阻塞.非阻塞示例详解之一 分类: 架构设计与优化 简介图 1. 基本 Linux I/O 模型的简单矩阵 每个 I/O 模型都有自己的使用模式,它们对于特定的应用程序都有自己的优点.本节将简要对其一一进行介绍. 一.同步阻塞模式在这个模式中,用户空间的应用程序执行一个系统调用,并阻塞,直到系统调用完成为止(数据传输完成或发生错误). /* * \brief * tcp client */ #include <stdio.h> #include <stdlib

linux添加开机自启动脚本示例详解

来源: linux添加开机自启动脚本示例详解 linux下(以RedHat为范本)添加开机自启动脚本有两种方法,先来简单的; 一.在/etc/rc.local中添加如果不想将脚本粘来粘去,或创建链接什么的,则:step1. 先修改好脚本,使其所有模块都能在任意目录启动时正常执行;step2. 再在/etc/rc.local的末尾添加一行以绝对路径启动脚本的行;如:$ vim /etc/rc.local#!/bin/sh## This script will be executed *after*

Java线程join示例详解

Java线程的join方法可用于暂停当前线程的执行直至目标线程死亡.Thread中一共有三个join的重载方法. public final void join():该方法将当前线程放入等待队列中,直至被它调用的线程死亡为止.如果该线程被中断,则会抛出InterruptedException异常. public final synchronized void join(long millis):该方法用于让当前线程进入等待状态,直至被它调用的线程死亡或是经过millis毫秒.由于线程的执行依赖于操

String.format()【示例详解】

整理者:Vashon 前言: String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "Vashon"); ,下面将笔记整理并记录下来. 方法重载: // 使用当前本地区域对象(Locale.getDefault())格式化字符串 String String.format(String fmt, Object... args); // 自定义本地区域对象格式化字符

VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)

步骤如下: 1. Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" title="VS2010 Chart控件(一)Chart控件在ASP.NET网站中的应用示例详解(C#语言)" action-data="http%3A%2F%2Fs8.sinaimg.cn%2Fmw690%2F6988593etx6DhZWSOATc7%26690" action-type="show-slide" style=&

Python3字典操作详解 Python3字典操作大全

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #Python3字典操作详解 Python3字典操作大全 5 6 #字典是无序的(因为它没有下标),key必须是唯一的 7 #字典是可变的,可以修改和添加 8 #创建字典 9 info = {'haha':12,'heihei':13,'wowo':45} 10 #查找字典的值value 11 #方法1 12 print(info['heihei']) #13 此

python3集合操作方法详解 python3集合操作大全

1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 #Author:sking 4 #python3集合操作方法详解 python3集合操作大全 5 6 #集合是无序的 7 #创建集合 8 a = {1,2,3} #正确 9 b = set([1,2,3]) #正确 10 c = set((1,2,3)) #正确 11 d = set({1:3,2:4}) #结果{1, 2} 只能取字典的key 12 13 #add添加集合中的元素(添加一项)

SpringBoot与PageHelper的整合示例详解

SpringBoot与PageHelper的整合示例详解 1.PageHelper简介 PageHelper官网地址: https://pagehelper.github.io/ 摘要: com.github.pagehelper.PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件. PageHelper是一款好用的开源免费的Mybatis第三方物理分页插件,其实我并不想加上好用两个字,但是为了表扬插件作者开源免费的崇高精神,我毫不犹豫的加上了好用一词作为赞美. 原本以为

python中的tcp示例详解

python中的tcp示例详解  目录 TCP简介 TCP介绍 TCP特点 TCP与UDP的不同点 udp通信模型 tcp客户端 tcp服务器 tcp注意点 TCP简介 TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. TCP通信需要经过创建连接.数据传送.终止连接三个步骤. TCP通信模型中,在通信开始之前,一定要先建立相关的链接,才能发