Как я могу переключиться с MYSQL на MYSQLI? Потому что я попытался, но возвращает нулевое значение. Спасибо заранее!
Код 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(); } }
в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(); } }
в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)