Versale
@Versale
Начинающий web программист.

Как обратиться к элементам БД и сработает ли такое с ajax?

Файл для ajax:
<?php

$dbc = mysql_connect();
$query = mysql_query ("SELECT username FROM data2");
$row = mysql_fetch_assoc($query);

$existing_users = array($row);

$user_name = $_POST['user_name'];

if (in_array($user_name, $existing_users)) {
    echo "no";
}
else {
    echo "yes";
}
?>


Мне кажется просто проверка на совпадение неправильная.
Подскажите, что не так?
  • Вопрос задан
  • 200 просмотров
Пригласить эксперта
Ответы на вопрос 1
ElForastero
@ElForastero
Хотя бы как-то так, но не mysql_connect(). Через пару месяцев ее вообще из языка выпилят.
<?php

$config = [
	'DB_USER'     => 'root',
	'DB_PASSWORD' => '****',
	'DB_HOST'     => 'localhost',
	'DB_DRIVER'   => 'mysql',
	'DB_DATABASE' => 'test'
];

$pdoConfig = [
	PDO::ATTR_ERRMODE              => PDO::ERRMODE_EXCEPTION,
	PDO::ATTR_DEFAULT_FETCH_MODE   => PDO::FETCH_OBJ
];

$dsn = $config['DB_DRIVER'] . ':host=' . $config['DB_HOST']
	 . ';dbname=' . $config['DB_DATABASE'];

try {	
	$pdo = new PDO(
		$dsn,
		$config['DB_USER'],
		$config['DB_PASSWORD'],
		$pdoConfig
	);

	$query = 'SELECT `username` FROM `data2` WHERE `username` = :username';
	$stmt = $pdo->prepare($query);
	$stmt->bindParam(':username', $_GET['username'], PDO::PARAM_STR);
	$stmt->execute();

	$user = $stmt->fetch();
	echo json_encode($user);
} catch (PDOException $e) {
	echo $e->getMessage();
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы