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

linux下PHP7可以连接mysql,却不能读取插入数据?,第1张

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

1.MySQL命令行新建用户

//登录MYSQL

@>mysql -u root -p

@>密码

//创建用户

mysql>insert into mysql.user(Host,User,Password) values('localhost','phplamp',password('1234'))

//刷新系统权限表

mysql>flush privileges

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

//退出后登录一下

mysql>exit

@>mysql -u phplamp -p

@>输入密码

mysql>登录成功

2.MySQL命令行为用户授权

//登录MYSQL(有ROOT权限)。我里我以ROOT身份登录.

@>mysql -u root -p

@>密码

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

mysql>create database phplampDB

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

@>grant all privileges on phplampDB.* to phplamp@localhost identified by '1234'//这里需要注意,如果发现找不到用户,需要执行命令 flush privilieges

//刷新系统权限表

mysql>flush privileges

mysql>其它 *** 作

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

mysql>grant select,update on phplampDB.* to phplamp@localhost identified by '1234'

//刷新系统权限表。

mysql>flush privileges

mysql>grant 权限1,权限2,…权限n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘连接口令’

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

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)

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


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

原文地址: http://outofmemory.cn/bake/8023706.html

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

发表评论

登录后才能评论

评论列表(0条)

保存