mysql_query("UPDATE students SET '. $rollno .' = '1' WHERE Faculty_id = $id AND date = $date");
$ROLLONO
– это имя столбца, который не обновляется.
Поместите дату в кавычки и установите правильные котировки до $ rollno:
mysql_query("UPDATE students SET ". $rollno ." = '1' WHERE Faculty_id = $id AND date = '$date'");
У вас есть двойная цитата перед UPDATE:
И одиночная цитата после SET:
Это делает ваш запрос неверным.
Дата должна быть в кавычках, иначе она будет рассматриваться как целое с минусами.
Вы используете свою переменную PHP в магических кавычках («). Поэтому не нужно ее хранить.
Также в имени столбца запроса должно быть либо завернуто `или ничего.
И значения для имени столбца должны быть в 'или', если они не являются типом int.
Удалить "." а также '. Добавить 'в поле даты
mysql_query("UPDATE students SET $rollno = '1' WHERE Faculty_id = $id AND date = '$date'");
Вы используете одинарные кавычки вокруг имени столбца. Вы, вероятно, не нуждаетесь в них, но если вы это сделаете, они используют backtick `caharacter вместо mysql.
mysql_query("UPDATE students SET ". $rollno ." = '1' WHERE Faculty_id = $id AND date = $date");
или
mysql_query("UPDATE students SET `". $rollno ."` = '1' WHERE Faculty_id = $id AND date = $date");
Я думаю, что вы динамически используете имя столбца, и вы хотите:
mysql_query("UPDATE students SET ". $rollno ." = '1' WHERE Faculty_id = $id AND date = $date");
$sql = "UPDATE students SET rollno = 1 WHERE Faculty_id = $id AND date = $date " mysql_query($sql);