goshasit
@goshasit

Как вывести количество строк из БД?

При регистрации через AJAX отправляются данные в PHP

<?php

  $login = trim(filter_var($_POST['login'], FILTER_SANITIZE_STRING));
	$email = trim(filter_var($_POST['email'], FILTER_SANITIZE_EMAIL));
	$pass = trim(filter_var($_POST['pass'], FILTER_SANITIZE_STRING));
	
	$hash = "ktyyFRDff";
	$pass = md5($pass . $hash);

	$user = 'root';
	$password = '';
	$db = 'database';
	$host = '127.0.0.1';

	$dsn = 'mysql:host='.$host.';dbname='.$db;
	$pdo = new PDO($dsn, $user, $password);

  $sql = "SELECT COUNT(*) FROM `users` WHERE `login` = $login OR `email` = $email";
?>

Не могу понять, как дальше вывести количество совпадений.

Нужно проверить есть ли уже такой логин и/или email в БД.
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ответы на вопрос 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
Правильный ответ:

$sql = "SELECT count(*) FROM `users` WHERE `login` = ? OR `email` = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute([$login,$email]);
$user = $stmt->fetchColumn();


Что мы здесь имеем?
  • Во-первых, запрос, защищенный от кривых ручек пользователя похапе, и, как следствие, от неправильного синтаксиса
  • Во-вторых, запрос, защищенный от SQL инъекций.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы