PHP数据库--MySQL的连接

数据库——>按照数据结构来组织、存储和管理数据的容器

常用函数,要用什么函数可以上手册查,很方便,主要先会一些基础的就可以

mysql函数--(mysql貌似会被废弃,推荐使用mysqli或PDO):

1、面向过程:连接一个MySQL服务器--mysql_connect($servername, $username, $passwd);

例如:

//生成一个连接$con = mysql_connect( ‘localhost‘, ‘root‘, ‘123456‘ ); if(!$con){die( ‘连接失败!失败原因:‘.mysql_error() ) ;  }//选择一个需要操作的数据库$dbdatabasemysql_select_db($dbdatabase,$con);//执行MySQL语句
$result=mysql_query("SELECT id,name FROM user");
//提取数据
$row=mysql_fetch_row($result);

用mysqli函数

$server = ‘localhost’;

$user = ‘root’;

$password = ‘123456’;

$con = mysqli_connect( $server, $user, $password )

or

die( ‘连接数据库失败,失败原因:’.mysqli_connect_error() );

注意:

①在mysql_connect()、mysql_select_db()等函数之前使用@(错误控制运算符),可以忽略掉系统产生的错误信息,然后我们用die()来自定义错误信息;

②提取数据的时候,除了上面的mysql_fetch_row,常见的还有mysql_fetch_assoc和mysql_fetch_array,具体差别请查阅PHP手册;

③对于mysql_query()函数的返回值,如果执行的语句有返回值(如SELECT、SHOW、DESCRIBE等),则返回相应数据(成功 时)或FALSE(失败时);如果执行的语句没有返回值(如DELETE、DROP、INSERT、UPDATE等),则返回TRUE(成功时)或 FALSE(失败时)。

2、面向对象方法--这种方法和普通方法非常类似,只是把相应的函数换成了面向对象方法。

$db=new mysqli($server,$user,$password,$dbdatabase);
if(mysqli_connect_error()){
    echo ‘Could not connect to database.‘;    exit();
 }$result=$db->query("SELECT id,name FROM user");
$row=$result->fetch_row();

这里用到的是mysqli,意思就是mysql的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互,唯一不同的是调用函数(对象方法)的方式不一样。

方法三:PDO方法

PDO是PHP Database Objects的缩写,即PHP数据库对象。它提供了一种统一的PHP与各种数据库交互的方法。

它的优势在于:只要正确提供数据源,对于余下数据库的基本操作都是一样的。即:同一段代码既可以同 MySQL交互,也可以和SQLite3交互,当然也可以和PostgreSQL进行交互(前提是你提供了正确的数据源)。

连接mysql数据库:

$dsn=‘mysql:host=‘.$dbhost.‘;dbname=‘.$dbdatabase.‘;‘
$dbh=new PDO($dsn,$username,$userpass);

如果是SQLite3,直接使用下面的代码:

$dsn=‘sqlite3:"D:\sqlite\user.db"‘;

$dbh=new PDO($dsn);

如果是PostgreSQL,下面的代码能够对付:

$dsn=‘pgsql:host=‘.$dbhost.‘ port=5432 dbname=‘.$dbdatabase.‘ user=‘.$username.‘ password=‘.$userpass;
$dbh=new PDO($dsn);

跟数据库成功建立连接之后,下面就只需要从数据库获取数据或插入更新数据,实例代码如下:

$stmt=$dbh->query(‘SELECT id,name FROM user‘);
$row=$stmt->fetch();
时间: 2024-10-11 04:57:05

PHP数据库--MySQL的连接的相关文章

java中ATM与数据库Mysql的连接

import java.sql.*; import java.util.*; public class ATM1 { String code; int pass; double money; int i=1; //检查登录 public void checkLogin(){ int i=1; while(i<=3){ System.out.print("请输入您的卡号:"); Scanner sc=new Scanner(System.in); String code_=sc.n

通过DriveManager类实现数据库MySQL的连接

1.加载驱动 String drivername="com.mysql.jdbc.Driver";   //数据库驱动类路径 try{   Class.forName(drivername);                        //创建驱动   System.out.println("创建驱动成功!");  }catch(ClassNotFoundException e){   e.printStackTrace();  } 2.定义URL String

数据库-mysql数据连接

一:Mysql 连接的使用 在前几章节中,我们已经学会了如果在一张表中读取数据,这是相对简单的,但是在真正的应用中经常需要从多个数据表中读取数据. 本章节我们将向大家介绍如何使用 MySQL 的 JOIN 在两个或多个表中查询数据. 你可以在 SELECT, UPDATE 和 DELETE 语句中使用 Mysql 的 JOIN 来联合多表查询. JOIN 按照功能大致分为如下三类: INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录. LEFT JOIN(左连接):获取左

Python-Web框架之 - 利用SQLALchemy创建与数据库MySQL的连接, 详解用Flask时会遇到的一些大坑 !

经过这个小项目算是对Django与Flask这两个web框架有了新的认识 , Django本身的轮子非常齐全 , 套路也很固定 , 新手在接触Django框架时 , 不会陷入到处找轮子的大坑 ; 那么在使用Flask这个框架的时候会碰到哪些大坑呢 , 首先Flask是一个轻量级的web框架 , 之所以说它轻量级是因为它本身并没有多少轮子 , 那是不是就代表这些轮子需要我们自己来造呢 , 那倒不必 , 但是需要我们去找这些轮子 , 这恰恰是锻炼你的思维的时候 , 你要找轮子之前 , 你必须得知道需

MySQL 数据库实现远程连接

1,刚开始我使用的是Navicat for MySQL工具连接远程的mysql的数据库. 报错了.报错信息是 Error 1130: Host '192.168.1.80' is not allowed to connect to this MySQL server. 我查询网上的解决方法共有两种: a. 该表法.可能是你的账号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登录mysql后,更改“mysql”数据库里的'user'表的"host"

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

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

Mysql命令mysql:连接Mysql数据库

mysql命令用户连接数据库. mysql命令格式: mysql -h主机地址 -u用户名 -p用户密码 1) 连接到本机上的MYSQL首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码. 注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户root是没有密码的,故直接回车即可进入到MYSQL中了,MYSQL的提示符是: mysql> 2) 连接到远程主机上的MYSQ

Navicat for mysql 远程连接 mySql数据库10061、1045错误问题 (转)

远程使用Navicat for mysql 客户端软件连接 mySql数据时,连接出现 2003-Can’t connect to MySQL on ’192.168.1.2’(10061)错误时,是由于MySQL不准许远程连接. 修改方法如下: 1:在服务端MySQL文件夹下找到my.ini文件.修改bind-address=127.0.0.1 为 bind-address=0.0.0.0 (在MySQL 5的my.ini中未发现此项) 2:重新启动MySQL服务. 测试连接情况: 如果没有给

mysql远程连接只显示部分数据库问题

项目变更了环境,数据库换了环境,所以用navicat连接数据库,结果只能看到部分数据库 表示很奇怪,难道我的ip被禁止了吗,进入服务器查看连接用户权限 1.首先查看服务器先能看到的数据库 mysql> show databases; 2.看看此数据库用户和对应ip情况 mysql> select host,user from mysql.user; 3.查看当前用户 mysql> select current_user(); 4.查看当前用户权限 mysql> show grant