升级PHP之后,我不能使用mysql_ *函数
我在PHP升级中遇到了一些问题。 之前,我使用PHP 5.2.0及以下版本; 现在我已经升级到PHP 5.5.0。 我的一些片段没有按照我的预期运行。
例如,这是一个。 它说,
已弃用:mysql_real_escape_string()
我试过mysqli_real_escape_string()
并得到另一个错误:
警告:mysqli_real_escape_string()需要2个参数,1中给出
这是我的代码:
<?php require_once("includes/session.php"); require_once("connections/connection.php"); require_once("includes/functions.php"); ?> <?php $username = $_POST['username']; $password = $_POST['password']; //$hashed_password= md5($password); ?> <!--Receive username password and authenticate whether the same or not with database one. --> <?php $username = stripslashes($username); $password = stripslashes($password); $username = mysqli_real_escape_string($username); $password = mysqli_real_escape_string($password); ?> <?php $query = "SELECT * FROM login WHERE username = '{$username}' AND password = '{$password}' AND status=1"; $result = mysql_query($query); $count = mysql_num_rows($result); if($count == 1){ //for the session $result_fetch= mysql_fetch_array($result); $_SESSION['user_id']= $result_fetch['id']; $_SESSION['user_name']= $result_fetch['username']; session_register("username"); session_register("password"); header("Location: dashboard.php"); exit; } else{ echo "The username or password is incorrect."; } ?> <?php //5.Close connection if(isset($connection)){ mysql_close($connection); } ?>
mysqli_real_escape_string
需要两个参数才能工作:
句法:
mysqli_real_escape_string($connection,$escapestring);
你需要给它连接variables。 这看起来像
$connection=mysqli_connect("host","my_user","my_password","my_db");
你应该刷新你的PHP知识 。
另一种方法是使用数据库对象,所以你不必每次都传递连接细节。