ошибки на MySQL говорит, проверьте руководство

0

Я получил эту ошибку. У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса, используемого рядом с "schoolPass =" 300570 "в строке 1. Пожалуйста, помогите мне в этом коде для login.php.

<?php
session_start();
require_once '../cn.php';
require_once '../functions.php';

if (isset($_POST['email']) && ($_POST['password'])){
$email = sanitizeString($_POST['email']);
$pass = sanitizeString($_POST['password']);

$query = "SELECT schoolEmail,schoolPass FROM schools WHERE schoolEmail = 
'$email' schoolPass = '$pass'";

$result = mysqli_query ($conn, $query) or die (mysqli_error($conn));
$count = mysqli_num_rows ($result);

if ($count == 1) {
    echo "pwede na";

} else {
    $err = "Invalid Log in Credentials";
};

if (isset($_SESSION['email'])){
    $email = $_SESSION['email'];
    echo ("hello.$email.");
};
} else {
echo "email/ password not set";
};
$conn->close();
?>
  • 0
    Обратите внимание, что этот код остается открытым для внедрения SQL. Смотрите о подготовленных и связанных запросах
Теги:

2 ответа

0
Лучший ответ

Замените свою строку кода:

$query = "SELECT schoolEmail,schoolPass FROM schools WHERE schoolEmail = 
'$email' schoolPass = '$pass'";

ОТ

$query = "SELECT schoolEmail,schoolPass FROM schools WHERE schoolEmail = 
'$email' AND schoolPass = '$pass'";
  • 0
    Вы пропустили оператор И между электронной почтой и паролем.
  • 0
    Большое спасибо, что действительно решает проблему
0
$query = "
SELECT schoolEmail
     , schoolPass 
  FROM schools 
 WHERE schoolEmail = '$email' 
   AND schoolPass = '$pass'
";

В промежутке между вашими двумя условиями на ГДЕ оно должно быть разделено И ИЛИ ИЛИ ИЛИ НЕ.

  • 0
    Большое спасибо, что действительно решает проблему

Ещё вопросы

Сообщество Overcoder
Наверх
Меню