首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP 7当前版本中不推荐的代码中的3个函数

问PHP 7当前版本中不推荐的代码中的3个函数
EN

Stack Overflow用户
提问于 2016-02-24 11:18:54
回答 4查看 2.3K关注 0票数 0

我正在使用PHP 7,并试图找到一个关于我的代码应该如何的解决方案,因为我正在使用的3个函数在当前版本的php 7中已经被分解。

这三项职能是:

mysql_close() mysql_query() mysql_select_db()

这是我的代码:

代码语言:javascript
复制
 <?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);  
}  

?>

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

EN

回答 4

Stack Overflow用户

发布于 2016-02-24 11:23:08

请将mysqli与prepared statements一起使用,它更安全。

代码语言:javascript
复制
 $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']; 

$query= $mysqli->prepare("insert into user (FirstName,LastName,Email,CPhone,Address,Age,Gender,Username,Password,MType) values(?,?,?,?,?,?,?,?,?)");

$query->bind_param('ssssssssss',$a,$b,$c,$d,$e,$f,$g,$i,$j,$h);

if (!$query->execute())
{
    $flag = false;
}
票数 0
EN

Stack Overflow用户

发布于 2016-02-24 11:30:37

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

数据库

查询

mysqli_close

例:

代码语言:javascript
复制
$link = mysqli_connect("localhost", "my_user", "my_password", "test");
mysqli_select_db($link, "world");
// SQL Logic goes here
mysqli_close($link);
票数 0
EN

Stack Overflow用户

发布于 2016-02-24 11:32:14

只需用最新的函数替换不推荐的函数即可。

代码语言:javascript
复制
mysql_close()      => mysqli_close()
mysql_query()      => mysqli_query()
mysql_select_db()  => mysqli_select_db()

所以你的代码是:

代码语言:javascript
复制
<?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);  
}
?>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35600688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档