广告
返回顶部
首页 > 资讯 > 数据库 >PHP之 连接MySql数据库
  • 269
分享到

PHP之 连接MySql数据库

数据库phpmysql 2023-09-01 07:09:10 269人浏览 薄情痞子
摘要

上一节已经成功配置了PHP+Mysql开发环境(https://mp.csdn.net/mp_blog/creation/editor/129432310),下面将进行实战连接数据库 一,打开sublime3编辑器,配置php开发环境 1.

上一节已经成功配置了PHP+Mysql开发环境(https://mp.csdn.net/mp_blog/creation/editor/129432310),下面将进行实战连接数据库

一,打开sublime3编辑器,配置php开发环境

1.1 在网站根目录下新建php项目文件夹,存放php文件

1.2 安装Package Control,按下ctrl+shift+p,调出输入框输入Package Control,并安装

 安装成功后可以用package control添加其它支持插件

 二,php连接数据库相关源码

1 数据库配置

Word", "Aa123456..");define("DB_DATABASE", "bdm817514261_db");

2 连接数据库和用户的增删改查

connect();    }    // destructor    function __destruct()    {    }    // Connecting to database    public function connect() {       // 创建连接        $this->conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD);        // 检测连接        if ($this->conn->connect_error) {            $this->isNext=false;        }else{            //检查是否创建数据库            // 创建数据库            $sql = "show DATABASES LIKE '".DB_DATABASE."'";            $row = $this->conn->query($sql)->fetch_object();            if ($row) {                $this->isNext=true;            } else {                // 创建数据库                $sql = "CREATE DATABASE ".DB_DATABASE;                if ($this->conn->query($sql) === TRUE) {                    $this->isNext=true;                } else {                    $this->isNext=false;                }            }        }        if($this->isNext){            $this->conn = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_DATABASE);            if ($this->conn->connect_error) {                $response["code"] = "0";                $response["msg"] = "连接失败";                die(json_encode($response,JSON_UNESCAPED_UNICODE));            }            // else{            //     $response["code"] = "0";            //     $response["msg"] = "连接成功";            //     die(json_encode($response,JSON_UNESCAPED_UNICODE));            // }        }else{            $response["code"] = "0";            $response["msg"] = "创建数据库失败";            die(json_encode($response,JSON_UNESCAPED_UNICODE));        }        // return database handler        return $this->conn;    }    public function checkTablesUsers()    {        $sql = "SHOW TABLES LIKE 'users'";        $row = $this->conn->query($sql)->fetch_object();        if (!$row) {            // 使用 sql 创建数据表            $sql = "CREATE TABLE users (                  uid INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,                   username VARCHAR(50),                  password VARCHAR(50),                  avatar VARCHAR(50),                  sign VARCHAR(50),                  createtime DATETIME                   )";            if ($this->conn->query($sql) === TRUE) {                return true;            } else {                $response["code"] = "0";                $response["msg"] = "创建数据表错误: " .$this->conn->error;                die(json_encode($response,JSON_UNESCAPED_UNICODE));                return false;            }        } else {            return true;        }    }        public function storeUser($username, $password)    {        if ($this->checkTablesUsers()) {            $stmt = $this->conn->prepare("INSERT INTO users(username, password,createtime) VALUES(?, ?, NOW())");            //该函数绑定了 SQL 的参数,且告诉数据库参数的值。 "sss" 参数列处理其余参数的数据类型。s 字符告诉数据库该参数为字符串            $stmt->bind_param("ss", $username, $password);            $result = $stmt->execute();            $stmt->close();            // check for successful store            if ($result) {                $stmt = $this->conn->prepare("SELECT * FROM users WHERE username = ?");                $stmt->bind_param("s", $username);                $stmt->execute();                $user = $stmt->get_result()->fetch_assoc();                $stmt->close();                return $user;            } else {                return false;            }        }    }        public function getUserByUsernameAndPassword($username, $password)    {        if ($this->checkTablesUsers()) {            $stmt = $this->conn->prepare("SELECT * FROM users WHERE username = ?");            $stmt->bind_param("s", $username);            if ($stmt->execute()) {                $user = $stmt->get_result()->fetch_assoc();                $stmt->close();                // verifying user password                $passwordss = $user['password'];                // check for password equality                if ($passwordss == $password) {                    // user authentication details are correct                    return $user;                }            } else {                return NULL;            }        }    }         public function getUserByUid($uid)    {        if ($this->checkTablesUsers()) {            $stmt = $this->conn->prepare("SELECT * FROM users WHERE uid = ?");            $stmt->bind_param("s", $uid);            if ($stmt->execute()) {                $user = $stmt->get_result()->fetch_assoc();                $stmt->close();                return $user;            } else {                return NULL;            }        }    }        public function isUserExisted($username)    {        if ($this->checkTablesUsers()) {            $stmt = $this->conn->prepare("SELECT username from users WHERE username = ?");            $stmt->bind_param("s", $username);            $stmt->execute();            $stmt->store_result();            if ($stmt->num_rows > 0) {                // user existed                $stmt->close();                return true;            } else {                // user not existed                $stmt->close();                return false;            }        }    }}

3 POST JSON数据请求接口格式注册实战

username;    $password=$data->password;}if($username&&$password){// check if user already existedif ($db->isUserExisted($username)) {// exists already        $response["code"] = "0";        $response["msg"] = "用户已存在";echo json_encode($response,JSON_UNESCAPED_UNICODE);} else {// create a new user$user = $db->storeUser($username, $password);if ($user) {            $response["code"] = "1";            $response["msg"] = "注册成功";            $response["data"]["uid"] = $user["uid"];            $response["data"]["username"] = $user["username"];echo json_encode($response,JSON_UNESCAPED_UNICODE);} else {//failed            $response["code"] = "0";            $response["msg"] = "注册失败";echo json_encode($response,JSON_UNESCAPED_UNICODE);}}} else {    $response["code"] = "0";   $response["msg"] = "请输入用户名或密码";echo json_encode($response,JSON_UNESCAPED_UNICODE);}

4 POST JSON数据请求接口格式登录实战

username;    $password=$data->password;}if($username&&$password){$user = $db->getUserByUsernameAndPassword($username, $password);if ($user) {//user found$response["code"] = "1";        $response["msg"] = "登录成功";        $response["data"]["uid"] = $user["uid"];$response["data"]["username"] = $user["username"];echo json_encode($response,JSON_UNESCAPED_UNICODE);} else {// user not found        $response["code"] = "0";        $response["msg"] = "用户名或密不正确";echo json_encode($response,JSON_UNESCAPED_UNICODE);}} else {// params missing    $response["code"] = "0";    $response["msg"] = "请输入用户名或密码";echo json_encode($response,JSON_UNESCAPED_UNICODE);}

5 GET方式接口获取用户信息实战

getUserByUid($uid);if ($user) {//user found$response["code"] = "1";        $response["msg"] = "获取用户信息成功";        $response["data"]["uid"] = $user["uid"];$response["data"]["username"] = $user["username"];echo json_encode($response,JSON_UNESCAPED_UNICODE);} else {// user not found        $response["code"] = "0";        $response["msg"] = "获取用户信息失败";echo json_encode($response,JSON_UNESCAPED_UNICODE);}} else {// params missing    $response["code"] = "0";    $response["msg"] = "请传入用户ID";echo json_encode($response,JSON_UNESCAPED_UNICODE);}

三,运行

打开静态页面,输入用户名密码,登录成功会返回首页

四,编辑器

1 当然除了sublime,还有phpstORM和EclipseForPHP也是很强大的编辑器可供选择,sublime轻量级一些

2 sublime插件

Package Control (https://sublime.wbond.net)

这个就不多说了,装sublime插件必备,如果你还没有装,看这里。

Sub­lime­CodeIn­tel (Https://GitHub.com/SublimeCodeIntel/SublimeCodeIntel)

提供代码提示,函数、对象或变量名称等。还可以提示对象或类中哪些方法和变量。基于komodo codeintel开发,虽然有时会有一些问题,但是大多时候是没问题的。

Sub­limeLin­ter (https://sublime.wbond.net/packages/SublimeLinter)

代码提错工具。但是从sublime 3开始,SublimeLineter编程模块化,所以安装完主安装包之后,还需要安装你需要支持的对应的语言的插件。对于PHP+js的开发,可以安装如下插件:

SublimeLinter-php
SublimeLinter-jshint
SublimeLinter-json
and SublimeLinter-CSSlint
4.Side­BarEn­hance­ments (https://sublime.wbond.net/packages/SideBarEnhancements)

提供强大的边栏右键选项,非常方便。

VCS Gut­ter (https://sublime.wbond.net/packages/VCS%20Gutter)

编码的时候避免不了使用git或SVN,VCS Gutter可以很方便的在代码中显示代码改动,支持Git、 Mercurial和 Subversion,如下图:screenshot

SFTP, paid (http://wbond.net/sublime_packages/sftp)

这个插件可以让Sublime很方便的支持SFTP、FTP和FTPS。支持远程文件浏览编辑和远程与本地的同步,还可以方便的上传下载,不过要钱,我就呵呵呵了~~~。

Tor­toise (on Win­dows only) (http://wbond.net/sublime_packages/tortoise)

如果在windows环境下编程,这个工具可以完全替代Side­Bar­Git,它没有很多的特点,但是提供的功能都很实用。

sublime-github (https://github.com/bgreenlee/sublime-github)

支持github的插件。

PHPcs (http://soulbroken.co.uk/code/sublimephpcs)

检查php代码是否满足某种标准,比如Zend,PEAR等。

Trail­ing­Spaces (https://github.com/SublimeText/TrailingSpaces)

自动删除高亮行末、文件尾的空格。

Brack­etHigh­lighter (https://github.com/facelessuser/BracketHighlighter)

和Tag插件的情形一样,ST3对代码高亮已经支持的足够好了,但是不得不说,这仍然是一个很好的插件。

Sub­lime Func­tion Name Display (https://github.com/akrabat/SublimeFunctionNameDisplay)

在底部状态栏显示当前文件、类和函数或方法的名称。简单实用。

Ter­mi­nal (http://wbond.net/sublime_packages/terminal)

使用Git或者一些PEAR包的时候,你或许需要不断地转换到命令行。这就是这个插件的作用。

DocBlockr (https://github.com/spadGos/sublime-jsdocs)

来源地址:https://blog.csdn.net/qq_29848853/article/details/129433496

您可能感兴趣的文档:

--结束END--

本文标题: PHP之 连接MySql数据库

本文链接: https://www.lsjlt.com/news/387845.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP之 连接MySql数据库
    上一节已经成功配置了php+mysql开发环境(https://mp.csdn.net/mp_blog/creation/editor/129432310),下面将进行实战连接数据库 一,打开sublime3编辑器,配置php开发环境 1....
    99+
    2023-09-01
    数据库 php mysql
  • php连接mysql数据库
        连接数据库:使用面向对象的方法;1.造一个mysqli对象,造连接对象2.准备一条SQL语句3.执行SQL语句,如果是查询语句。成功返回结果及对象4.从结果集...
    99+
    2022-10-18
  • Node.js数据库操作之连接MySQL数据库(一)
    介绍 首先说来介绍一下MySQL(非广告)。MySQL是由瑞典的MySQL AB公司开发,后来被甲骨文公司收购。和Oracle一样,MySQL是一个典型的关系型数据库,在百度百科中,把MySQL称为是最好的...
    99+
    2022-06-04
    数据库 操作 Node
  • 使用PHP连接MySQL数据库
    随着 web 开发和数据存储需求的不断增加,连接数据库已经成为了 PHP 开发中的常见任务。其中,MySQL 数据库是广泛采用的一种关系型数据库,而 PHP 也提供了一套完整的 API,使得连接 MySQL 数据库变得十分简单。在这篇文章中...
    99+
    2023-05-15
    MySQL PHP 连接
  • mysql 连接数据库
    1、首先启动mysql 并链接数据 小意思吧!都会了是吧    mysql -uroot -p //连接数据    net start mysql /...
    99+
    2022-05-21
    连接数据库 mysql
  • PHP和MYSQL数据库怎么连接
    本篇内容主要讲解“PHP和MYSQL数据库怎么连接”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP和MYSQL数据库怎么连接”吧!  在MYSQL数据库的众...
    99+
    2022-10-18
  • 怎么用PHP连接MySQL数据库
    这篇文章主要介绍“怎么用PHP连接MySQL数据库”,在日常操作中,相信很多人在怎么用PHP连接MySQL数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用PHP连接...
    99+
    2022-10-18
  • PHP中如何连接MySQL数据库
    本篇内容介绍了“PHP中如何连接MySQL数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2023-04-21
    php mysql
  • PHP连接数据库
    PHP 连接数据库1.连接数据库函数 mysqli_connect(主机名,用户名,密码)  返回值 是我们的一个连接对象 如果连接失败 报错 返回false2. 判断错误函数mysql...
    99+
    2022-10-18
  • 如何使用PHP连接MySQL数据库
    这篇“如何使用PHP连接MySQL数据库”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“如何使用PHP连接MySQL数据库”文...
    99+
    2023-07-06
  • PHP中如何去连接MySQL数据库
    这篇文章将为大家详细讲解有关PHP中如何去连接MySQL数据库,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。什么是MySQL数据库MySQL 是一款安全、跨平台、高效的,并与多种编程语言紧密结合的数据库系...
    99+
    2023-06-25
  • Node.js 连接 mysql 数据库
    目录 一、安装驱动 二、连接数据库 1、数据库连接的配置信息 数据库连接参数说明 2、封装 mysql 的执行语句 3、后端路由文件  三、数据库操作( CURD ) 1、查询数据 2、插入数据 3、更新数据 4、删除数据 4、获取受影响的...
    99+
    2023-09-09
    mysql 数据库 node.js
  • python连接MySQL数据库
    模块功能:connect()方法 * connect()方法用于连接数据库,返回一个数据库连接对象。如果要连接一个位于host.remote.com服务器上名为fourm的MySQL数据库,连接串可以这样写: ...
    99+
    2023-01-31
    数据库 python MySQL
  • JSP连接MySQL数据库
    ✅作者简介:热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏:JAVA开发者成长之路 ✨...
    99+
    2023-08-16
    java mysql tomcat
  • Python3 连接Mysql数据库
    初学Python ,目前无论是电子书还是网上的教程,都是针对于python2.7,但是对于部分语法以及模块都有变化。比如urllib2是python自带的模块,不需要下载。urllib2在python3.x...
    99+
    2022-10-18
  • jdbc连接MySql数据库
    jdbc连接MySql数据库 package com.zhy; import com.mysql.jdbc.Driver; import java.sql.*; public class TestJdbc { publi...
    99+
    2020-09-18
    jdbc连接MySql数据库 数据库入门 数据库基础教程 数据库 mysql
  • python3连接MySQL数据库
    环境:python 3.6.1 + mysql 5.1 Python3 支持用 pymysql 模块来链接数据库 1、pymysql安装 windows下:pip install pymysql 直接安装 官方文档:http://...
    99+
    2023-01-31
    数据库 MySQL
  • idea连接MySQL数据库
    文章目录 前言一、idea创建连接MySQL操作步骤 二、配置连接参数操作步骤 总结 前言 提示:idea连接数据库前,先需要查看自己数据库安装、配置是否完成: 1.打开mysql命令控制台 2.输入密码,到如下页面...
    99+
    2023-08-17
    mysql intellij-idea 数据库
  • C#连接MySQL数据库
    目录 一、引用MySql.Data.dll文件 二、连接、关闭数据库 三、数据库增删改查 附:完整代码 一、引用MySql.Data.dll文件 创建C#窗体应用程序,解决方案资源管理器中找到“引用”,右键,选择添加引用。 在MyS...
    99+
    2023-10-28
    c# 数据库 mysql
  • Python 连接 MySQL 数据库
    在实际数据分析和建模过程中,我们通常需要从数据库中读取数据,并将其转化为 Pandas dataframe 对象进行进一步处理。而 MySQL 数据库是最常用的关系型数据库之一,因此在 Python 中如何连接 MySQL 数据库并查询数据...
    99+
    2023-08-16
    python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作