php连接数据库

php开发小白如何熟练使用PDO连接MYSQL?要从这几点去掌握!

大家好!今天应粉丝留言出一期关于php和mysql的内容,如果想把数据库的出现在web页面中,必须知道如何在PHP脚本中建立mysql的连接,今天给大家说的内容是“如何用php连接mysql数据库”。

php通过什么程序连接到数据库?

我们使用的是phpmyadmin的phpweb应用程序连接数据库。相对于其他的第三方数据管理软件,phpmyadmin是常用的,它能够直接连接到运行中的MYSQL数据库服务器,在php中是由php的数据对象(php Date Objects,PDO)扩展来实现MYSQL数据库的连接。

PDO连接数据库的语法:

new PDO(‘mysql:host=myhostname;dbname=mydatebase’,‘username’,‘password’)

1、将newpdo看成一个内建的函数,需要注意的是函数名中不能出现空格。

2、字符串说明了mysql数据库的类型、服务器主机名host=myhostname、数据库名称dbname=mydatebase’。

3、输入你想让php使用的数据库mysql的用户名。

4、该用户的MYSQL的密码。

使用new PDO连接数据库需要注意什么?

mysql和是和服务器相分离的一个软件,如果出现密码错误、网络中断等情况,会导致数据库不可用或者无法访问,在这种情况下new pdo不会允许会抛出一个异常。

php异常是上述情况下发生的,作为开发者我们必须考虑到在连接数据中的这种情况,当php无法执行该任务时,php试图做你让它做的事,但是会失败,php为了告诉你不能执行的消息,会抛出一个异常。

php pdo连接mysql完整实例:

try{ $dbh =new PDO(‘mysql:host=myhostname;dbname=mydatebase’,‘username’,‘password’); echo "连接成功<br/>"; }}catch(PDOException $e){die("Error!: ". $e->getMessage()."<br/>");exit();}关于“PHP如何连接mysql”先聊到这。每天学习一个知识点,每日寄语”你若盛开,蝴蝶自来;你若精彩,天自安排。”如转载请标注出处,近期发现有个人未经允许擅自转载,本人声明请尽快删除。

展开
收起

PHP操作MySQL-其他「程序员培养之路第四十九天」

解析结果集

PDO(PHP Data Object)

PDO是PHP数据对象的英文缩写,英文全称为PHP Data Object,是又MySQL官方封装的、基于面向对象编程思想的、使用C语言开发的数据库抽象层。

配置PDO

Windows下启动PDO需要在“php.ini”文件中进行配置,添加扩展:

extension=php_pdo.dll

在最新版PHP中,PDO已经默认开启,只需要启动其他数据库扩展即可。配置好这些后重启Apache服务。执行phpinfo()函数,看到PDO配置项,说明开启成功。

MySQL

访问数据库

与mysqli扩展类似,PDO扩展也是实例一个PDO对象,然后可以调用相关方法和属性来执行数据库的操作。

连接服务器

使用PDO与服务器建立连接,需要先使用构造方法来创建PDO实例,PDO的构造方法如下:

_construct(stringdata_source_name [,string user[,string pwd[,array driver_options]]])

datasourcename : 数据源,该参数包括了数据库名,主机名。MySQL数据库的DSN为:“mysql:host=localhost;dbname=account_db; port=3306”

user:数据库服务器用户名

pwd:为数据库服务器密码

数据库连接成功后,将返回一个PDO的实例,连接失败将会抛出一个PDOException异常,通常会使用try/catch语句进行处理。

关闭数据库

要想关闭连接,需要销毁对象以确保所有到它的引用都被删除,可以给变量赋一个NULL。

执行SQL语句

PDO提供了三种执行SQL语句的方法,分别是exec(),query(),预处理语句。

exec()

exec()方法可以执行一条语句,并返回受影响的行数,它的语法格式如下:

int PDO::exec(String sql)

exec()方法通常用于insert into,delete,update等语句。

<?phpecho "<pre>"; $dbms = "mysql"; $server = "localhost"; $username = "root"; $password = "123456"; $dsn = "$dbms:host=$server"; try { $pdo = new PDO ( $dsn, $username, $password ); echo "PDO连接MySQL数据库服务器成功"; print ($pdo->exec ( "create database account_pdo_db" )) ; print ($pdo->exec ( "use account_pdo_db" )) ; print ($pdo->exec ( "set names utf8" )) ; print ($pdo->exec ( "create table account(id int auto_increment primary key, username varchar(50) not null, password varchar(50) not null, email varchar(50) not null)" )) ; print ($pdo->exec ( "insert into account(username, password, email) values ('Jack', '123456', 'jack@example.com')" )) ; print ($pdo->exec ( "insert into account(username, password, email) values ('Lucy', '123456', 'lucy@example.com')" )) ; $pdo = null; } catch ( PDOException $e ) { echo "PDO连接MySQL数据库服务器失败"; die (); }?>

query()

query()方法不同于exec(),通常用于select语句中,它的返回值是PDOStatement的实例,是POD里的结果集。它的语法如下:

PDOStatement PDO::query(String sql)

<?phpecho "<pre>";$dbms = "mysql";$server = "localhost";$username = "root";$password = "123456";$dbname = "account_pdo_db";$dsn = "$dbms:host=$server;dbname=$dbname";try {$pdo = new PDO ( $dsn, $username, $password ); echo "<p>PDO连接MySQL数据库服务器成功</p>"; $result = $pdo->query ( "select * from account" ); foreach ( $result as $row ) { var_dump ( $row ); } $pdo = null;} catch ( PDOException $e ) { echo "PDO连接MySQL数据库服务器失败"; die ();}?>

展开
收起

php怎样创建数据库?

数据库是编程的核心内容,在使用php做网站的过程中,固然要与数据库打交道,那么在php中,怎样来创建一个数据库呢?下面我们就一起来了解一下吧。

1、创建一个函数

我在这里是作为演示实例,所以没有用框架,用的是原生的,打开编辑器,新建一个文件,然后再文件里面,先新建一个函数,这里命名是create_data,接下来我们将在这个函数里面来写php怎样创建一个数据库?

2、登陆信息

要想创建数据库或者是对数据库的其他操作,都必须先连接数据库,先设置好用户名,主机名,密码这三个变量:

$Username="root";

$Password="";

$servernmae="localhost";

3、连接数据库

登陆信息创建好之后,我们就来连接数据库了,我这里使用的是mysqli的连接方式:

$connect=new mysqli($servernmae,$Username,$Password);

4、创建数据库

如果数据库连接成功的话,我们就开始创建数据库,创建数据库的sql语句格式是“create database +要创建的数据库名”,例子如下:

$sql="create database ceshi";

然后是执行这个sql语句:

if($connect->query($sql)){

echo "successful!";

}

else{

echo $connect->error;

}

5、访问测试。

开启本地的服务器和mysql服务器,然后在浏览器中输入刚才那个文件的地址进行访问,结果如下:

完整代码如下:

function create_data(){

$Username="root";

$Password="";

$servernmae="localhost";

$connect=new mysqli($servernmae,$Username,$Password);

if($connect){

$sql="create database ceshi";

if($connect->query($sql)){

echo "successful!";

}

else{

echo $connect->error;

}

}

}

create_data();

展开
收起

配置php.ini以连接mysql数据

先执行一个简单的链接数据的语句:

结果为:

可见该函数需要另外的一些东西才能使用!

做法如下:

第1步:

在php.ini中设定php的模块(扩展功能)的实际绝对路径,使用的关键字为:extends_dir,如下:

修改为:

第2步:

开启mysql的模块(扩展功能):

修改为:

然后,重启apache,后,浏览结果如下:

可见,这个时候,其实是表示该函数可以用了,只是还没有连接成功:

自然,这是因为还没有mysql数据库(服务器)。我们需要去安装。

mysql数据库的安装与配置

之后,一路安装完成,就开始进入“配置”过程了:

然后,重新运行刚才的php程序页面:

结果为:

这就表明:mysql安装成功,并在php的脚本代码中,可以“连接上”mysql数据库服务器了。

展开
收起

PHP操作MySQL-访问数据库「程序员培养之路第四十八天」

连接MySQL服务器

建立与MySQL数据库的连接,使用mysqli_connect()函数,它的语法格式如下:

mysqli mysqli_connect ([string server[, string username[, string password[, string dbname[, int port[, string socket]]]]]])

它的参数含义如下:

server:可选参数,MySQL服务器地址。username:可选参数,MySQL服务器用户名。password:可选参数,MySQL服务器用户密码。dbname:可选参数,要连接的数据库名字。port:可选参数,MySQL服务器的端口号,默认3306。socket:可选参数,使用设置的socket或者pipe。注意:前四个参数比较常用,后两个很少用到。

PHP

选择MySQL数据库

PHP提供了mysqliselectdb()函数来选择MySQL数据库,它的语法格式如下:

<?php$server = "localhost"; $username = "root"; $password = "123456"; $dbname = "php_db"; // 快速写法 $mysqli = new mysqli ( $server, $username, $password, $dbname ); // 兼容写法 $mysqli = new mysqli ( $server, $username, $password ); mysqli_select_db ( $mysqli, $dbname ); // 对象写法 $mysqli = new mysqli (); $mysqli->connect ( $server, $username, $password ); $mysqli->select_db ( $mysqli, $dbname );?>

断开MySQL服务器

使用mysqli_close()函数来关闭与MySQL服务器的连接。

执行SQL语句

数据库的“增删改查”说到底都是一句SQL语句,PHP提供了mysqli_query()函数来执行SQL语句,它的语法如下:

mixed mysqli_query (mysqli link, string query[, int resultmode])

link : 是调用mysqli_connect()函数返回的mysqli对象,

query : 是要执行的SQL语句,

resultmode : 是可选参数,它的默认值是MYSQLISTORERESULT,如果需要查询的数据量很大,需要使用MYSQLIUSERESULT。

<?php$server = "localhost"; $username = "root"; $password = "123456"; $dbname = "account_db"; $mysqli = new mysqli ( $server, $username, $password, $dbname ); // 增 $result = mysqli_query ( $mysqli, "insert into account(username, password, email) values('张三', '123456', 'zhangsan@example.com')" ); // 删 $result = mysqli_query ( $mysqli, "delete from account where user='张三'" ); // 改 $result = mysqli_query ( $mysqli, "update account set password='abcdefg' where user='张三'" ); // 查 $result = mysqli_query ( $mysqli, "select * from account " ); mysqli_close ( $mysqli );?>

面向对象的编程-抽象类和接口「程序员培养之路第四十六天」

面向对象的编程-__autoload()「程序员培养之路第四十五天」

面向对象的编程-多态「程序员培养之路第四十四天」

展开
收起

基于thinkphp配置数据库连接及同时访问多个不同数据库

人人都是程序员,希望在零碎的阅读时间里,给您一些技术提升。

1 准备工作

下载thinkphp框架,并搭建一个php项目,可参考之前写的其他文章。已部署好的php项目如下图。

2 配置数据库连接

在项目application目录下,找到database.php文件,输入数据库类型,服务器地址数据库名称,数据库用户名,密码,端口号。如下图。

3 获取数据库数据

在application-index-controller下面,创建一个User.php文件,定义命名控制器的命名空间,并编写一个获取用户的方法。接口方法如下图。完成后,在浏览器输入localhost/thinkphpdemo/public/index.php/index/User/getuser,查到用户表相关数据,说明从数据获取数据成功。

4 同时访问两个数据库数据

之前已经创建了一个数据库thinkphpdemo,再创建一个数据库thinkphpdemodbs,并创建一张t_classroom表,录入测试数据。

在刚才的user控制器,新建一个getUserAndClassroom的方法。先用常规方法,获取thinkphpdemo数据的user信息,在重新定义一个数据库连接,(注意,本次连接的是本地服务器的两个不同数据。连接thinkphpdemodbs,如果要连接不同服务器的数据,将127.0.0.1改成其他服务器的ip即可),并查询classroom数据,合并成一个数组。通过localhost/thinkphpdemo/public/index.php/index/User/getUserAndClassroom,获取到如下数据,说明两个数据请求成功。

短短几行代码,就实现了不同数据的数据访问,非常便捷,如果您想了解其他方面的内容,欢迎留言。

5 结束语

php是世界上最好的语言,谢谢阅读,欢迎关注。

展开
收起

mysql怎么连接数据库

现在网站开发主要语言有php,asp,jsp。其中php大概占据市场90%的份额,以其开源,成本低,等优势受到广大建站者的使用。今天介绍一下php搭配数据库mysql怎么使用。

如果在自己电脑上运行,可以先打开运行环境,小编用的是WampServer,网上有很多集成包可以使用,比如wamp,phpstudy等等,这个有疑问的话小编可以单独写篇文章介绍php环境问题。

php运行环境

然后我们在根目录创建一个php文件,小编命名为db.php注意文件名称要取的有意义,不要aaa,bbb,ccc,或者123,111,等等,避免后期维护造成麻烦,网上也有一些文件命名的规则,比如驼峰命名,英文命名等,小细节体现一名优秀程序员的工作效率。

文件命名规范php文件命名

上图可以作为参考借鉴。文件创建以后,就开始写php链接数据库代码。

<?php

//localhost 主机名 或者127.0.0.1 root 数据库账户然后就是数据库密码

$con = mysql_connect("localhost","root","");

if (!$con)

{

//如果连接失败提示mysql错误代码

die('Could not connect: ' . mysql_error());

}else{

echo 'mysql is ok';

}

// 关闭数据库连接

mysql_close($con);

?>

小编也写好了对应的代码注释,这个也是一个好习惯。

php链接数据库

代码写好之后,打开浏览器运行一下,看看是否链接成功。

数据库链接成功

我们修改一下密码看有什么提示呢

数据库链接出错

根据这个提示我们就知道是密码不对,以后再项目中看到这个就知道怎么修改啦,

然后就是选库,数据库的增删查改等操作,难度一点点增加。希望这篇文章可以帮到有需要的朋友。

展开
收起

ThinkPHP5.0的动态连接数据库使用方法

当你需要使用多个数据库连接的时候,就需要使用connect方法动态切换到另外一个数据库连接,假设存在另外一个数据库test,并且复制data过去更名为test,然后测试下面的示例:

页面Trace的显示信息可以看出来使用了两次数据库连接和执行了三次查询,并且数据库连接切换并没有影响默认的查询(第三个查询还是使用的默认数据库配置连接,test数据库中并不存在data表,如果连接的还是第二个数据库连接的话肯定会报错)。

有时候,我们只需要设置一些基本的数据库配置参数,可以简化成一个字符串格式定义(该格式为ThinkPHP使用规范,而不是PDO连接规范,不要和DSN混淆起来):

Db::connect('mysql://root@127.0.0.1/demo#utf8') ->query('select * from data where id = 1');

字符串格式的连接信息规范格式如下:数据库类型://用户名[:用户密码]@数据库服务器地址[:端口]/数据库名[?参数1=值&参数2=值]#数据库编码

Db类的connect方法会返回一个数据库连接对象实例,相同的连接参数返回的是同一个对象实例,除非你强制重新实例化,例如:

这样,每次调用都会重新实例化数据库的连接类。为了便于统一管理,你可以把数据库配置参数纳入配置文件,例如在应用配置文件中添加:

或者使用字符串方式定义'db_config' => 'mysql://root@127.0.0.1/demo',

上面的db_config配置参数不是在数据库配置文件中定义,而是在应用配置文件或者模块配置文件中定义。

然后,使用下面的方式来动态连接获取切换连接

Db::connect('db_config') ->query('select * from data where id=:id', ['id'=>3]);当connect方法传入的连接参数是字符串并且不包含/等特殊符号的话,表示使用的是预定义数据库配置参数。

展开
收起

PHP连接msSQL数据库方法

1.什么是msSQL呢?

msSQL是指微软的SQLServer数据库服务器,它是一个数据库平台,提供数据库的从服务器到终端的完整的解决方案,其中数据库服务器部分,是一个数据库管理系统,用于建立、使用和维护数据库。SQL Server一开始并不是微软自己研发的产品,而是当时为了要和IBM竞争时,与Sybase合作所产生的,其最早的发展者是Sybase,同时微软也和Sybase合作过 SQL Server 4.2版本的研发,微软亦将SQL Server 4.2移植到Windows NT(当时为3.1版),在与Sybase终止合作关系后,自力开发出SQL Server 6.0版,往后的SQL Server即均由微软自行研发。

了解完mssql数据库之后,我们经常见到的是PHP+mysql数据库的组合,这个黄金搭档是公认的最佳组合,我们今天不说它了,今天来说说PHP+mssql吧,作为程序猿来讲,经常被各种需求轰炸,什么需求都有,今天正好在做小型项目时发现PHP需要与mssql数据库连接,第一感觉就是与mysql连接差不多,然后就下手开始了,但在我们的运行环境里面,很少有人去安装一些模块来支撑这个连接。下面我们一起来看看怎么连接的吧。

第一步:下载SQL Server驱动

首先来看看我们的sqlderver扩展是32位还是64位的,不是根据电脑的系统的位数判断的,而是根据php的位数判断的。如下图的红框所示查看,我们是64位的。

phpinfo()图片

上面这图怎么查看,可通过下面代码

<?php

echo phpinfo();

?>

我这里用的php是PHP Version 7.3.4,要下载对应的扩展版本。

官方下载地下:https://docs.microsoft.com/en-us/sql/connect/php/download-drivers-php-sql-server?view=sql-server-2017

1.下载完毕解压出来把php_pdo_sqlsrv_73_nts_x64.dll和

php_sqlsrv_73_nts_x64.dll

放到D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext(放在你安装PHP的ext目录下面)

2.设置php.ini,把这二个dll模块加进来。

extension=php_sqlsrv_73_nts_x64.dll

extension=php_pdo_sqlsrv_73_nts_x64.dll

如下图:

注意:PHP Version 7.3.4对应的版本是php_sqlsrv_73_nts_x64.dll和php_pdo_sqlsrv_73_nts_x64.dll

第二步:安装ODBC驱动11

驱动11支持所有版本,所以果断下载11版本:官方下载地下:https://www.microsoft.com/en-us/download/details.aspx?id=36434

下载成功直接安装就可以

注意:此时要重新启动apache.

第三步:写代码测试是否能成功

<?php

$server = "localhost"; //服务器名称

$uid = "xxx"; //数据库用户名

$pwd = "123456"; //数据库密码

$db = "test"; // 数据库名

$connectionInfo=array("UID"=>$uid,"PWD"=>$pwd,"Database"=>$db);

$conn =sqlsrv_connect($server,$connectionInfo);

if( $conn == false) {

echo "连接失败!";

die( var_dump( sqlsrv_errors(), true));

}else{

echo "成功连接";

}

如果显示“成功连接”,说明已经连接成功了,快去庆祝一下吧

展开
收起

PHP怎么连接Mysql数据库?

PHP连接mysql数据库是PHP新手们必须要掌握的一项技能,只要掌握了PHP对数据库进行增删改查等操作,就可以写出一些简单且常见的程序。如留言表,新闻页等。本篇文章主要给大家详细介绍PHP连接Mysql数据库的两种常用方法。

下面我们通过具体的代码示例来给大家详细介绍两种PHP连接mysql数据库的方法。

mysqli连接数据库和pdo连接数据库。

第一种方法:使用mysqli连接mysql数据库

代码实例如下:

<?php

$host='127.0.0.1';

$user='root';

$password='root';

$dbName='php';

$link=new mysqli($host,$user,$password,$dbName);

if ($link->connect_error){

die("连接失败:".$link->connect_error);

}

$sql="select * from admins";

$res=$link->query($sql);

$data=$res->fetch_all();

var_dump($data);

在经过一系列的连接操作后,我们再创建一个sql语句对其中数据表进行查询检验。在上述代码中,我们要先创建一些需要用到的变量,如数据库用户名、数据库名密码等。然后我们用面向对象的方式连接了名为php的数据库。再通过if条件语句,connect-error方法判断PHP连接数据库是否成功。

这里我们先登录phpmyadmin看看是否存在php数据库,从下图可以知道是存在php这个数据库的。

最后通过浏览器访问,结果如下图:

从图中可以得知,我们成功地连接了php数据库,并且能查询出数据表信息。

第二种方法:使用PDO连接数据库

代码示例如下:

<?php

$host='127.0.0.1';

$user='root';

$password='root';

$dbName='php';

$pdo=new PDO("mysql:host=$host;dbname=$dbName",$user,$password);

$sql="select * from admins";

$data=$pdo->query($sql)->fetch();

var_dump($data);

PHP连接Mysql步骤以上就是关于PHP连接数据库查询数据的两种常用方法详解,更多相关教程请访问php中文网mysql视频教程,欢迎参考学习!

展开
收起