微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php基础之连接mysql数据库和查询数据

连接数据库,有三种方法

1. 常规方式:

$con=MysqL_connect($dbhostip,$username,$userpassword) or die("Unable to connect to the MysqL!");
$db = MysqL_select_db($dbdatabasename,$con);
//执行语句
$qres=MysqL_query("SELECT id,GoodsName FROM user");
//提取一条数据
11 $row=MysqL_fetch_row($result);//MysqL_fetch_row只能提取查询结果的第一条记录
//提取多条记录
$reslist = array();
$i=0;
while($row = MysqL_fetch_row($res)){
   $reslist[$i] = $row;
   $i++;
  }
MysqL_close($con);

//MysqL_fetch_row   提取的结果是没有查询中的字段名了(也就是没有键id,GoodsName,只有值),如下图:

//MysqL_fetch_assoc 提取的结果有键值,如下图:

//MysqL_fetch_array提取的结果有键值,是前面两种的综合,如下图:

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

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

2. 面向对象形式

$db=new MysqLi($dbhostip,$userpassword,$dbdatabasename);

if(MysqLi_connect_error()){  

  echo 'Could not connect to database.';  

  exit;

}

$result=$db->query("SELECT id,GoodsName FROM user");

$row=$result->fetch_row();

这里用到的是MysqLi,意思就是MysqL的扩展,既可以通过面向过程的方式也可以通过面向对象的方式与数据库进行交互

3. PDO方法

PDO其实是PHP Database Objects的缩写,中文PHP数据库对象。它提供了一种统一的PHP数据库交互的方法

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

连接MysqL代码

$dsn='MysqL:host='.$dbhost.';dbname='.$dbdatabase.';' $dbh=new PDO($dsn,$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();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐