在搭建sqli-labs时出现了Unable to connect to the database: security错误,经过查询发现是php版本和sqli-lab中的不匹配。于是去phpstudy中修改了相应的php版本,但是又报错
Fatal error: Uncaught Error: Call to undefined function mysql_select_db() in
前往sqli-labs的sql-connection文件查看源码寻找问题。首先在文件中找到了第一个报错内容
@mysql_select_db($dbname,$con) or die ( "Unable to connect to the database: $dbname");
通过对源码进行一些注释和增加返回值进行排查,最后锁定在
$con = mysqli_connect($host,$dbuser,$dbpass);
mysql_select_db($con,$dbname) or die ( "Unable to connect to the database: $dbname");
这两句之间的内容。还为此再去查询了mysqli_connect()和mysql_select_db()函数,发现源码函数形式并没错。但始终有问题。
最终没弄出来,选择在另一个盘重开一个,下载成功安装,也没出现报错。感到有些不理解,就又去新下载的sql-connection 源码看了看,
最后发现有个很小的差别,源码中 mysql_connect()与mysql_select_db()两个函数成功对应上了,而出错的mysqli_connect()与mysql_select_db()对不上。
后面去搜了搜发现原来php版本不同对与数据库的连接函数也不一样
在7.x版本中用的是mysqli_select_db
而在5.x版本中用的是mysql_select_db。
我的源文件中应该是什么时候自己改了忘记了,导致两个函数对接不上总是报错。