PHP与MySql建立连接

 通过PHP脚本建立与一个MySQL数据库的连接时,数据库服务器的主机位置(在本地就是localhost)、用户名(root)、密码、和数据库名是必须的。一旦建立连接,脚本就能执行SQL命令。二者联系的一系列步骤主要为四步:

  1、用mysqli_connect()连接数据库;

  2、组装SQL查询串,放入一个变量,该变量将作为下一步的必须参数;

  3、用mysqli_query()执行查询,

  4、用mysqli_close()关闭连接。

  下面深入分析

  一、 mysqli_connect():建立连接,语法

 mysqli_connect(server,user,passwd,database_name);

该函数将位置,用户名,口令,数据库名处理为串,所以必须用引号引起,例如:

$dbc = mysqli_connect(‘localhost‘,‘root‘,‘password‘,‘aliendatabase‘);

调用该函数可以得到一个数据库连接,另外会得到一个PHP变量$dbc,这个变量与数据库交互。

  注:1、PHP语句要用分号结束。

    2、使用‘localhost‘,是代表数据库服务器和Web服务器在同一个服务器计算机上。

    3、如果省略第四个参数,会用mysqli_select_db()来指定数据库名;

    4、如果连接失败,die()函数会终止PHP脚本,并提供失败代码的反馈,例如

$dbc = mysqli_connect(‘localhost‘,‘root‘,‘password‘,‘aliendatabase‘) or die(‘Error connecting to MySQL sever.‘);

  如果连接未能创建就调用die()函数,反馈消息会输出到页面上,同时注意两个函数之间(即or前面)不需要分号,因为这是同一条语句的延续。

  二、建立PHP串变量,它包含所要执行的SQL查询语句,比如增、删、建等,例如建立一个INSERT查询:

$query = "INSERT INTO aliens_abduction(first_name, last_name, ".
        " when_it_happend, how_long, how_many, alien_description, ".
        " what_they_did ,fang_spotted, other, email) ".
        "VALUES (‘Sally‘, ‘Jones‘, ‘3 days ago‘, ‘1 day‘,’four‘, ".
        " ‘green with six tentacles‘, ‘We just talked and palyed with a dog‘ , ".
        " ‘yes‘, ‘I may have seen your dog .Contact me.‘, ".
        " ‘sa‘
    )";

代码说明:1. $query是一个PHP串变量,现包含一个INSERT查询;

       2. 点号"."告诉PHP将这个串与下一行串联在一起;

       3. 整个代码是PHP代码,必须以分号结束。

      INSERT查询存储在一个串中之后,可以将它传递到mysqli_query()函数

注: 1、“查询”含义相当广义,可以指在数据库上完成的任何SQL命令,包括存储和获取数据。

  三、利用PHP查询MySQL数据库

  mysqli_query()函数需要两个信息来完成查询:数据库连接(第一步)和SQL查询串(第二步),例如:

$result = mysqli_query($dbc,$query);
        or die(‘Error querying database.‘);

$result 变量只是存储mysqli_query()执行的查询是否成功。

  四、用mysqli_close()关闭连接,参数为一开始简历的数据库连接变量,例如:

mysqli_close($dbc);
时间: 2024-11-11 02:29:39

PHP与MySql建立连接的相关文章

VS2013与MySql建立连接;您的项目引用了最新实体框架;但是,找不到数据链接所需的与版本兼容的实体框架数据库 EF6使用Mysql的技巧

因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库处理类已写好,然后在创建实体模型(右键Model->新建项->数据->ADO.NET实体数据模型)时没有MySQl选项,在网上搜了一圈,需要下载 mysql-for-visualstudio,网上搜的时候大家都建议下载mysql-for-visualstudio1.1.1,可是我在官网上没有

golang中mysql建立连接超时时间timeout 测试

本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为5s,读超时时间6s. MySQL server IP是192.168.0.101,端口3306. 每3s执行一次SQL. // simple.go package main import ( "database/sql" "log" "time"

MySQL建立连接的过程

数据库连接的一些知识: import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; public class InsertDemo01{     // 定义MySQL的数据库驱动程序     public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;     // 定义MySQL数据库的连接地址  

[风马一族_php]PHP与Mysql建立连接

让php发出 Hi作为基础 http://www.cnblogs.com/sows/p/5990157.html 配置apache      ../apache/conf/httpd.conf 创建php的配置文件     ../apache/php/ 复制文件 配置 php.ini      ../apache/php/php.ini 加载mysql 加载路径 启动Mysql服务 若能在命令行显示出 mysql> , 则运行成功 在apache的默认网站目录,创建mysql.php   ../

学习asp.net core + Ef+mysql建立连接

注意事项:1.使用前用nuget导入Microsoft.EntityFrameworkCore.Tools和MySql.Data.EntityFrameworkCore2.DataContext必须声明一个构造函数接受一个dbcontextoptions < DataContext >必须通过它来为DbContext基构造函数.3.连接字符串一定要加 sslmode=none 操作代码:datacontext类 public class DataContext:DbContext { publ

一个简单java程序模拟与Mysql Server建立连接及发送查询SQL

使用普通socket来模拟与Mysql Server建立连接及发送查询SQL,如下代码所示: Socket socket = new  Socket("127.0.0.1",3306); OutputStream out = socket.getOutputStream(); BufferedOutputStream bos = new BufferedOutputStream(out); //建立连接报文信息 来自wireshark(捕捉终端执行mysql -u root -p -h

Node.js使用MySQL的连接池

使用Nodejs+MySQL肯定比PHP和MySQL的组合更适合做服务器端的开发. 使用Nodejs你会从他的异步行为中获益良多.比如,提升性能,你无须在从已有的MySQL数据库迁移到其他的NoSQL数据库获得性能的提升.   Nodejs如何使用MySQL Nodejs要连接MySQL,可以使用Nodejs的MysQL驱动来实现.比如,我们这里使用“node-mysql”连接数据库.我们使用下面的方式来连接数据库: 首先,我们需要使用nodejs的包管理工具(npm)安装mysql的驱动.命令

Node.js如何使用MySQL的连接池实例

http://www.111cn.net/database/mysql/90774.htm Nodejs如何使用MySQL Nodejs要连接MySQL,可以使用Nodejs的MysQL驱动来实现.比如,我们这里使用"node-mysql"连接数据库.我们使用下面的方式来连接数据库: 首先,我们需要使用nodejs的包管理工具(npm)安装mysql的驱动.命令行如下: npm install musql 现在,要在js文件中使用mysql,添加下面的代码到你的文件中: var mys

使用telnet访问某些服务器的端口,以测试可达性,为何有时要好几秒才能成功建立连接?

最近发现,在某些Freebsd服务器上使用telnet访问远程服务器端口,要好几秒才能建立成功连接.为何?今天下午终于搞清楚了.原来telnet在访问远程服务器时,默认启用了反向解析功能.而我们的dns没有配置dns反向解析.导致超时后才使用IP访问对方.这时只要使用-N参数就可以了,比如: telnet -N 192.100.0.1 80 很快建立连接. 其实很多其他服务器也是类似的,默认开启了反向解析功能.比如ssh,mysql. ssh,关闭dns反向解析: UseDNS no mysql