PHP与MySql建立连接

时间:2021-01-26 00:10:13

 通过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命令,包括存储和获取数据;

   2、PHP 中 SQL 查询语句使用双引号

   3、在 SQL 查询语句中的字符串值必须加引号

   4、数值的值不需要引号

   5、NULL 值不需要引号

  三、利用PHP查询MySQL数据库

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

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

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

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

mysqli_close($dbc);

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

  1. 解决MySQL建立连接问题,快速回收复用TCP的TIME_WAIT

    最近同事遇到一个问题,使用python开发的工具在执行的时候无法和MySQL建立连接,其最直接的现象就是满篇的TIME_WAIT,最后通过调整tcp_timestamps参数问题得以解决,再次记录一下 ...

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

    因为之前都是看别人的项目,而没有自己从头到尾建立一个项目,所以这次尝试搭建时就出现了问题,主要是ASP.Net MVC项目中VS2013和MySql的连接. 第一个问题: 数据库表已建好,相应的数据库 ...

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

    本文测试连接mysql的超时时间. 这里的"连接"是建立连接的意思. 连接mysql的超时时间是通过参数timeout设置的. 1.建立连接超时测试 下面例子中,设置连接超时时间为 ...

  4. MySQL建立连接的过程

    数据库连接的一些知识: import java.sql.Connection ; import java.sql.DriverManager ; import java.sql.Statement ; ...

  5. 【风马一族_php】PHP与Mysql建立连接

    让php发出 Hi作为基础 http://www.cnblogs.com/sows/p/5990157.html 配置apache      ../apache/conf/httpd.conf 创建p ...

  6. Navicat for mysql建立连接

    1. 安装Navicat for MySQL. 2. 点击连接->MySQL,打开SSH,填写主机名.端口.用户名.密码. 3. 连接->打开常规,设置连接名(可以*指定).主机名.端口 ...

  7. mysql建立ssl安全连接的配置

    mysql建立ssl安全连接的配置 1.环境.IP.安装包: centOS 5.4 虚拟机了两台服务器 mysql-5.1.48.tar.gz openssl-0.9.8b.tar.gz server ...

  8. mysql交互式连接&非交互式连接

    交互式操作:通俗的说,就是你在你的本机上打开mysql的客户端,就是那个黑窗口,在黑窗口下进行各种sql操作,当然走的肯定是tcp协议. 非交互式操作:就是你在你的项目中进行程序调用.比如一边是tom ...

  9. 使用Java纯代码实现MySQL的连接

      建立数据库 1. 点击连接-->MySQL: 输入连接名 . 主机名/IP地址 .端口 .用户名.密码(没有密码就省略),然后点击确定,建立的表格是灰色表示关闭状态,双击开启 2. 重新创建 ...

随机推荐

  1. nyoj-204

    描述国王有一个魔镜,可以把任何接触镜面的东西变成原来的两倍——只是,因为是镜子嘛,增加的那部分是反的. 比如一条项链,我们用AB来表示,不同的字母表示不同颜色的珍珠.如果把B端接触镜面的话,魔镜会把这 ...

  2. Google https服务被屏蔽

    根据Google透明度报告显示,从上周(5月27日)开始,Google的部分服务开始被屏蔽,其中最主要的是HTTPS搜索服务和Google登录服务,所有版本的Google都受到影响,包括Google. ...

  3. php 模拟浏览器get和post提交处理

    文件夹test下index.php <?phpheader("Content-Type: text/html;charset=gb2312"); function cUrlG ...

  4. 反射技术在Android中的应用

    本博客转自:http://blog.csdn.net/tiefeng0606/article/details/51700866 动态语言: 一般认为在程序运行时,允许改变程序结构或变量类型,这种语言称 ...

  5. 一套代码小程序&amp&semi;Web&amp&semi;Native运行的探索03——处理模板及属性

    接上文:一套代码小程序&Web&Native运行的探索02 对应Git代码地址请见:https://github.com/yexiaochai/wxdemo/tree/master/m ...

  6. &lbrack;物理学与PDEs&rsqb;第3章习题1 只有一个非零分量的磁场

    设磁场 ${\bf H}$ 只有一个非零分量, 试证明 $$\bex ({\bf H}\cdot\n){\bf H}={\bf 0}. \eex$$ 证明: 不妨设 ${\bf H}=(0,0,H_3 ...

  7. &period;NET core RSA帮助类

    解决 Operation is not supported on this platform 异常 直接上代码: public class RSAHelper { /// <summary&gt ...

  8. js函數

    函數是什麼?函數就是被事件驅動或者調用執行的可重複的代碼塊. 函數聲明: 使用關鍵詞function,關鍵詞function大小敏感. function a{代碼塊} 局部變量: 在函數內部聲明的變量 ...

  9. Python &lowbar;&lowbar;import&lowbar;&lowbar;&lpar;&rpar; 函数

     Python OS 文件/目录方法 Python 面向对象  Python __import__() 函数  Python 内置函数 描述 __import__() 函数用于动态加载类和函数 . 如 ...

  10. Coding和Git的环境搭建

    Github太慢了.打开网页慢,下载也只有几kb. 于是找了国内的Git,据说coding不错.就申请了个. 其实csdn也有...但是没人家的专业... 1 注册coding  https://co ...