由于前文中氧化钾版本较新,默认安装的是php7.0(这个问题)
PHP 5的使用者可以使用mysql扩展,mysqli和PDO_MYSQL,但是PHP 7移除了mysql扩展,只剩下后面两种选择。
因此在Sqli-labs与数据库连接,查询的时候,会出现一些问题。
我们安装Sqli-labs的时候必需把相关数据库的函数改为mysqli的形式
一开始点击设置db的时候,会停留在页面
进入目录查看代码cd/var/www/html/sqli-labs/sql-connections <代码> 代码>
目录下方有7个文件
# # #步骤
# # # 0 x00修改函数
把<代码> mysql_xxx() 代码>全部修改为<代码> mysqli_xxx 代码>
使用sed + grep的结合
<代码> sed - s/mysql_/mysqli_/g”“grep mysql_ rl。/?/代码>
# # # 0 x01修改函数参数
由于mysql_error()函数下,连接是可选项,mysqli_error()下,连接变为必需项,因此需要把mysql_error()改为mysql_error(反对美元)
<代码> sed - s/癿ysql_error ()“/眒ysqli_error(\反对美元)“/g grep”mysql_error ()rl。/?/代码>
php5.0下<代码> mysql_query ($ sql) 代码>即可查询
php7.0下<代码> mysql_query(案子,sql美元)代码>
<代码> & lt; ? php//假定数据库用户名:根,密码:123456年,数据库:RUNOOB 反对美元=mysqli_connect (“localhost”、“根”、“123456”、“RUNOOB”); 如果(mysqli_connect_errno (con)美元) { 回声”连接MySQL失败:“。mysqli_connect_error (); }//执行查询 mysqli_query($案子,“SELECT * FROM网站”); mysqli_query(反对美元,“插入网站名称、网址、alexa,国家) 值(“百度”,“https://www.baidu.com/?“4”,“CN”)”); mysqli_close (con); 比; mysqli下语法为:mysqli_query(连接、查询resultmode); 其中连接和查询为必需项,这就是问题…代码>
同样使用sed + grep命令把当前目录下所有文件的所有字符串替换
<代码> sed - s//癿ysql_query (\ sql)美元mysqli_query(\反对美元\ $ sql)“/g grep”mysql_query (\ $ sql) "rl。/? - -一步到位 当时我是先把所有mysql_函数改成了mysqli_函数了,因此用下面的命令 sed - s//癨 $ sql) \反对美元\ $ sql)“/g grep”\ $ sql) "rl。/?/代码>
这样php7.0对于数据库连接的影响基本可以解决。