PHP-从Mysql到Mysqli

如何从MYSQL切换到MYSQLI?因为我尝试过但返回的是null值,所以谢谢!

MYSQL代码:

if(isset($_POST["username"])&& isset($_POST["password"])){

    $manager = preg_replace('#[^A-Za-z0-9]#i','',$_POST["username"]);
    $password = preg_replace('#[^A-Za-z0-9]#i','',$_POST["password"]);
    include "includes/connect_db.php";
    $sql = mysql_query("SELECT id FROM admin WHERE username='$manager'
        AND password=$password' LIMIT 1");

    $existCount = mysql_num_rows($sql);//count the row nums
    if($existCount == 1){//evaluate the count
        while($row=mysql_fetch_array($sql)){
            $id=$row["id"];
        }
        $_SESSION["id"] = $id;
        $_SESSION["manager"]=$manager;
        $_SESSION["password"]=$password;
        header("location:index.php");
        exit();

    }else{
        echo 'That information is incorrect, try again <a href="index.php">Click   Here</a>';
        exit();
    }

这是我之前尝试过的,但向我显示一条消息mysqli_num_rows具有布尔结果.

MYSQLI代码:

if(isset($_POST["username"])&& isset($_POST["password"])){

   $manager = preg_replace('#[^A-Za-z0-9]#i','',$_POST["username"]);
   $password = preg_replace('#[^A-Za-z0-9]#i','',$_POST["password"]); 
   include("includes/insert_db.php"); // i change the database connection
   $sql = "SELECT * FROM admin WHERE username='$manager' 
   AND password=$password'";

   $result = mysqli_query($con, $sql);

   $existCount = mysql_num_rows($result);//count the row nums
   if($existCount == 1){//evaluate the count
   while($row=mysqli_fetch_array($result)){
    $id=$row["id"];
   }
   $_SESSION["id"] = $id;
   $_SESSION["manager"]=$manager;
   $_SESSION["password"]=$password;
   header("location:index.php");
   exit();

  }else{
    echo 'That information is incorrect, try again <a href="index.php">Click Here</a>';
    exit(); 
  }
 }

解决方法:

尝试更改此:

$sql = mysql_query("SELECT id FROM admin WHERE username='$manager' 
AND password=$password' LIMIT 1");

对此:

$sql = "SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1";

$result = mysqli_query($conn, $sql);

或这个:

$sql = "SELECT id FROM admin WHERE username='$manager' AND password='$password' LIMIT 1"; 
$result = $conn->query($sql); 

($conn是连接变量,如果不同,则将其更改.)
希望这会有所帮助.

还将mysql_fetch_array($sql)更改为mysqli_fetch_array($sql)

上一篇:php-更新查询在mysql中引发错误


下一篇:PHP mysqli_query在实际的托管服务器上不起作用