Заключите ваши сложные переменные в {}
внутри строки в двойных кавычках:
$q = $conn->query("SELECT uname FROM Student WHERE {$_POST['regduser']} = uname");
// -----------------------------------------------^^^^^^^^^^^^^^^^^^^^^
Похоже, что ваше предложение SQL WHERE обратное, и в нем отсутствуют кавычки.Должно быть
WHERE uname = '{$_POST['regduser']}'
У вас есть другая проблема, когда вы сначала набираете $conn->query()
, а затем пытаетесь создать подготовленный оператор.
Вызов query()
не нужен и действительно опасен,Вместо этого создайте правильно подготовленный оператор с ?
заполнителями:
$stmt = $conn->prepare("SELECT uname FROM Student WHERE uname = ?");
$stmt->bindParam(1, $_POST['regduser'], PDO::PARAM_STR);
$stmt->execute();