php7连接不上数据库,php连接数据库mysql失败

php7链接数据库问题

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

在乐都等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供网站设计、成都做网站 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,成都全网营销推广,成都外贸网站建设,乐都网站建设费用合理。

第二个问题:mysql_query是php5之前的函数,他不太安全,其实还有mysqli_query扩展增强版,但这些都没有对象好用,为什么呢?因为每次使用都不是一个对象,但函数不一样,使用的是同一个函数,如果你学过java的线程大概就能知道怎么回事了。对象new 你不用之后会回收,但函数就未必了,这也是为安全考虑,目前对象比较安全。

第三个问题:这个问题很简单,你用的是对象连接,却使用函数,这本就不是一个东西,你没有给全局变量赋值(mysqli_connect($servername, $username, $password);),所以不能使用这个函数,这也就是安全问题(第二个问题,你看它一次只能使用一个连接,不像对象,可以new很多个,看出优劣了吧!这是进化的结果,因为php想干大型项目用对象,也比较最好管理),至于应该使用什么?$db -num_rows其实很简单的,就是把以前的函数封装成为对象,名字几乎不变

我的php就是和数据库无法建立连接

一、常用普通方法

$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();

推荐第三种连接方式

PHP7连接mysql数据库方法

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=localhost;dbname=test";

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

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

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

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

为什么php连接不了数据库?

这个错误的意思是文件没有找到,需要的文件名是:数据库连接.PHP

你检查文件是否存在,确保正确文件存在即可解决。

当然,有时候看起来存在,实际上电脑认为不存在,这就是汉字编码问题,看起来一样的汉字,在UTF-8、GBK下的电脑存储数据是不同的。建议所有的PHP文件名都使用英文,这样可以避免编码问题。


本文名称:php7连接不上数据库,php连接数据库mysql失败
文章URL:http://scyanting.com/article/hcceso.html