PHP7联接mysql数据库方式

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

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

Fatalerror:UncaughtError:Calltoundefinedfunctionmysql_connect()in/Users/xueyanxiang/work/test/xue.php:31Stacktrace:#0/Users/xueyanxiang/work/test/xue.php(119):xue-run()#1{main}thrownin/Users/xueyanxiang/work/test/xue.phponline31

缘由是:

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

PHP7中其实早已彻底不支持了,依照官网说明,取而代之的是如下两个:

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

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

mysqli_connect()

PDO::__construct()

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

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

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

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

3、PDO工具,推荐使用

$dbh="mysql:host=localhost;dbname=test";

$db=newPDO($dbh,'xueyanxiang','xueyanxiang');

$objQuery=$db-query("select*fromuser;");

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

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

php7链接数据库问题

第一个问题:$db是对象,对象调用成员方式就是-

第二个问题:mysql_query是php5之前的函数,他不太安全,当然还有mysqli_query扩充提高版,但那些都没有对象好用,为何呢?由于每次使用都不是一个对象,但函数不一样,使用的是同一个函数,假如你学过java的线程大约能够晓得如何回事了。对象new你不用以后会回收,但函数就未必了,这也是为安全考虑,目前对象比较安全。

第三个问题:这个问题很简单,你用的是对象联接,却使用函数,这本就不是一个东西,你没有给全局变量形参(mysqli_connect($servername,$username,$password);),所以不能使用这个函数,这也就是安全问题(第二个问题,你看它一次只能使用一个联接,不像对象,可以new好多个,看出好坏了吧!这是进化的结果linux php连接数据库,由于php想干小型项目用对象,也比较最好管理),至于应当使用哪些?$db-num_rows虽然很简单的,就是把原先的函数封装成为对象,名子几乎不变

php5和php7联接数据库的区别

PHP5中使用mysql_connect()函数进行联接,但实际上linux php连接数据库,PHP5.5开始,mysql系列函数就不推荐使用了,属于废弃函数

PHP7中其实早已彻底不支持了,依照官网说明,取而代之的是如下两个:

本扩充自PHP5.5.0起已废弃,并在将来会被移除。应使用MySQLi或PDO_MySQL扩充来替换之。

$host='127.0.0.1';//主机名或IP地址

$user='root';//数据库用户

$database='cake';//数据库名

$password='root';//数据库密码

$mysqli=newmysqli($host,$user,$password,$database);

$query='SETNAMESUTF8';

$mysqli-query($query);

if($mysqli-errno){

print_f("联接数据库错误br/%s",$mysqli-error);

exit;

PHP7新增MySQL数据

linux php连接数据库_linux链接数据库_linux链接pg数据库

因为mysql句型中存在有name关键字,为防止数组名与关键字相混淆冲突,建议可以用``符号将name包括上去使用,例如:`name`

linux下PHP7可以联接mysql,却不能读取/插入数据?

不能读取是mysql的权限没有打开,操作如下:

1.MySQL命令行新建用户

//登陆MYSQL

@mysql-uroot-p

@密码

//创建用户

mysqlinsertintomysql.user(Host,User,Password)values('localhost','phplamp',password('1234'));

//刷新系统权限表

mysqlflushprivileges;

这样就创建了一个名为:phplamp密码为:1234的用户。

//退出后登陆一下

mysqlexit;

@mysql-uphplamp-p

@输入密码

mysql登陆成功

2.MySQL命令行为用户授权

//登陆MYSQL(有ROOT权限)。我里我以ROOT身分登入.

@mysql-uroot-p

@密码

//首先为用户创建一个数据库(phplampDB)

mysqlcreatedatabasephplampDB;

//授权phplamp用户拥有phplamp数据库的所有权限

@grantallprivilegesonphplampDB.*tophplamp@localhostidentifiedby'1234';//这儿须要注意redhat linux,假若发觉找不到用户,须要执行命令flushprivilieges;

//刷新系统权限表

mysqlflushprivileges;

mysql其它操作

//假如想指定部份权限给一用户,可以这样来写:

mysqlgrantselect,updateonphplampDB.*tophplamp@localhostidentifiedby'1234';

//刷新系统权限表。

mysqlflushprivileges;

mysqlgrant权限1,权限2,…权限non数据库名称.表名称to用户名@用户地址identifiedby‘连接口令’;

权限1,权限2,…权限n代表select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file等14个权限。

PHP实现的pdo联接数据库并插入数据功能简单示例

本文实例述说了PHP实现的pdo联接数据库并插入数据功能。分享给你们供你们参考,具体如下:

创建配置文件

pdo_config.php

$db_Type

"mysql";//数据库类型

$host

"localhost";//主机名

$dbName

"test";//数据库名

$userName

"root";//用户名

$password

"root";//密码

$dsn

"{$db_Type}:host={$host};dbname={$dbName}";

pdo插入数据库

pdo_insert.php

header('Content-type:text/html;

charset=utf-8');

require

'pdo_config.php';

try{

$pdo

new

PDO

($dsn,$userName,$password);//创建一个联接对象

$pdo-exec('set

names

utf8');//设置编码

$sql

"INSERT

student

(name,email)

VALUES

('李四','')";

$pdo-exec($sql);

}catch

(PDOException

$e){

die('操作失败'.$e-getMessage());

//关掉联接

$pdo

null;

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP基于pdo操作数据库方法总结》、《php+mysqli数据库程序设计方法总结》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作方法汇总》

希望本文所述对你们PHP程序设计有所帮助。

本文原创地址:https://www.linuxprobe.com/pljmsjkffphb.html编辑:刘遄,审核员:暂无