PHP7连接mysql数据库方法

PHP7连接mysql数据库方法,第1张

1、用 mysql_connect 的方法,PHP7会报致命错误

$conn= mysql_connect('localhost','xueyanxiang','xueyanxiang')

Fatal error : Uncaught Error: Call to undefined function mysql_connect() in /Users/xueyanxiang/work/test/xue.php:31 Stack trace: #0 /Users/xueyanxiang/work/test/xue.php(119): xue->run() #1 {main} thrown in  /Users/xueyanxiang/work/test/xue.php  on line  31

原因是:

PHP5中使用mysql_connect()函数进行连接,但实际上,PHP5.5开始,MySQL就不推荐使用了,属于废弃函数

PHP7中貌似已经彻底不支持了,根据官网说明,取而代之的是如下两个:

本扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi 或 PDO_MySQL 扩展来替换之。参见 MySQL:选择

API 指南以及相关 FAQ 以获取更多信息。用以替代本函数的有:

mysqli_connect()

PDO::__construct()

使用时,不要在使用mysql_connect了,可以换用mysqli_connect(),用法基本类似吧,据说是面向对象的库。

php.ini中,也只有extension=php_mysqli.dll,而不再有extension=php_mysql.dll这个拓展了。

2、可以使用mysqli,对象化,方法名与被废弃的类似

$conn= mysqli_connect('localhost','xueyanxiang','xueyanxiang')

3、PDO工具,推荐使用

$dbh= "mysql:host=localhostdbname=test"

$db= new PDO($dbh,'xueyanxiang','xueyanxiang')

$objQuery= $db->query("select * from user")

$res= $objQuery->fetchAll(PDO::FETCH_ASSOC)

不填写参数的话,默认是关联和索引都有,如下图

php配置oracle非常的简单需吧php.ini文件中的配置,去掉 extention = php_oci8.dll,去掉前面的分号,重启apache就可以了

oracle数据库建立链接,代码如下:

1:

$conn =

oci_connect('username','password',"(DEscriptION=(ADDRESS=(PROTOCOL

=TCP)(HOST=192.168.1.100)(PORT = 1521))(CONNECT_DATA =(SID=test)))")

2:

$conn = oci_connect('username','password','192.168.1.100/test')

3.Oracle 连接方法

set adocon=Server.Createobject("adodb.connection")

adocon.open"Driver={microsoft odbc for oracle}server=oraclesever.worlduid=adminpwd=pass"

完整的例子如下:

<?php

$conn = oci_connect('hr', 'hr', 'orcl')// 建立连接

if (!$conn) {

$e = oci_error()

print htmlentities($e['message'])

exit

}

$query = 'SELECT * FROM DEPARTMENTS'// 查询语句

$stid = oci_parse($conn, $query)// 配置SQL语句,准备执行

if (!$stid) {

$e = oci_error($conn)

print htmlentities($e['message'])

exit

}

$r = oci_execute($stid, OCI_DEFAULT)// 执行SQL。OCI_DEFAULT表示不要自动commit

if(!$r) {

$e = oci_error($stid)

echo htmlentities($e['message'])

exit

}

// 打印执行结果

print '<table border="1">'

while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {

print '<tr>'

foreach($row as $item) {

print '<td>'.($item?htmlentities($item):' ').'</td>'

}

print '</tr>'

}

print '</table>'

oci_close($conn)

?>

一、常用普通方法

$mysql_server="localhost"

$mysql_username="数据库用户名"

$mysql_password="数据库密码"

$mysql_database="数据库名"

//建立数据库链接

$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password) or die("数据库链接错误")

//选择某个数据库

mysql_select_db($mysql_database,$conn)

mysql_query("set names 'utf8'")

//执行MySQL语句

$result=mysql_query("SELECT id,name FROM 数据库表")

//提取数据

$row=mysql_fetch_row($result)

在提取数据的时候,我们使用mysql_fetch_row,还可以使用mysql_fetch_assoc和mysql_fetch_array,具体的我们参考手册。

第二、面向对象方法

$db=new mysqli($dbhost,$username,$userpass,$dbdatabase)

if(mysqli_connect_error()){

echo 'Could not connect to database.'

exit

}

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

$row=$result->fetch_row()

第三、PDO方法

$dsn='mysql:host='.$dbhost.'dbname='.$dbdatabase.''

$dbh=new PDO($dsn,$username,$userpass)$stmt=$dbh->query('SELECT id,name FROM user')

$row=$stmt->fetch()

推荐第三种连接方式


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6751651.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存