代码中的3个函数已在当前版本的PHP 7中弃用

时间:2016-02-24 11:18:54

标签: php mysqli

我正在使用PHP 7,并且我正在尝试找到我的代码应该如何的解决方案,因为我使用的3个函数已经在当前版本的php 7中进行了描述。

这三个功能是:

mysql_close()
mysql_query()
mysql_select_db()

这是我的代码:

 <?php  
 //mysql database connectivity  
 //inserting form data into the database  
 if(@$valid==true)  
{  
 $con= mysqli_connect("localhost","root","root"); 
 mysql_select_db("usersignup", $con);  
 @$a=$_POST['fname'];  
 @$b=$_POST['lname'];  
 @$c=$_POST['email'];  
 @$d=$_POST['cell'];  
 @$e=$_POST['add'];  
 @$f=$_POST['age'];  
 @$g=$_POST['gen'];  
 @$i=$_POST['username'];  
 @$j=$_POST['pass'];  
 @$h=$_POST['mtype'];  
 mysql_query("insert into user (FirstName,LastName,Email,CPhone,Address,Age,Gender,Username,Password,MType) values('$a','$b','$c','$d','$e','$f','$g','$i','$j','$h')");  
 header("Location:form1.php");  
 mysql_close($con);  
}  

&GT?;

我已经看过提供的一些解决方案,建议应该使用MySQLi或PDO_MySQL扩展,问题是我还没有找到一种实用的方法来实现这一点。

4 个答案:

答案 0 :(得分:0)

{% extends "prototipo/base.html" %} {% load staticfiles %} {% block content %} <div class="row"> 使用mysqli,更安全。

prepared statements

答案 1 :(得分:0)

PHP7不再支持mysql_ *函数。您需要选择PDO或mysqli API。您可以使用以下mysqli函数替换已弃用的函数。

mysqli_select_db

mysqli_query

mysqli_close

例如:

1. a:6:{i:0;s:3:"234";i:1;s:3:"539";i:2;s:3:"305";i:3;s:3:"541";i:4;s:3:"385";i:5;s:3:"588";}
2. a:2:{i:0;s:3:"182";i:1;s:3:"539";}
3. a:1:{i:0;s:3:"267";}

答案 2 :(得分:0)

只需用最新的函数替换已弃用的函数。

mysql_close()      => mysqli_close()
mysql_query()      => mysqli_query()
mysql_select_db()  => mysqli_select_db()

所以你的代码将是:

<?php  
//mysql database connectivity  
//inserting form data into the database  
if(@$valid==true){  
   $con= mysqli_connect("localhost","root","root"); 
   mysqli_select_db("usersignup", $con);  
   @$a=$_POST['fname'];  
   @$b=$_POST['lname'];  
   @$c=$_POST['email'];  
   @$d=$_POST['cell'];  
   @$e=$_POST['add'];  
   @$f=$_POST['age'];  
   @$g=$_POST['gen'];  
   @$i=$_POST['username'];  
   @$j=$_POST['pass'];  
   @$h=$_POST['mtype'];  
   mysqli_query("insert into user (FirstName,LastName,Email,CPhone,Address,Age,Gender,Username,Password,MType) values('$a','$b','$c','$d','$e','$f','$g','$i','$j','$h')");  
   header("Location:form1.php");  
   mysqli_close($con);  
}
?>

答案 3 :(得分:-1)

相同但mysqli_只有一个区别,你必须在mysqli_connect( ... db name中传递db name作为最后一个参数

// mysqli connect
$con = mysqli_connect("localhost","root","root", "usersignup"); 

// mysqli query
mysqli_query("
  insert into user 
  (FirstName,LastName,Email,CPhone,Address,Age,Gender,Username,Password,MType)
  values('$a','$b','$c','$d','$e','$f','$g','$i','$j','$h')
");  

// connection close
mysqli_close($con);