mysql_query("UPDATE students SET '. $rollno .' = '1'
WHERE Faculty_id = $id AND date = $date");
$ROLLONO
是未更新的列的名称。
您在列名周围使用单引号。您可能不需要它们,但如果需要,它们会使用反引号 ` 字符代替 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");
您在魔术引号(“)中使用您的 PHP 变量。因此无需保留 .
同样在查询中,列名应该用`包裹或什么都不包裹。
如果它们不是 int 类型,列名的值应该在 ' 或 " 中。
消除 ”。” 并且 '。在日期条件中添加 '
mysql_query("UPDATE students SET $rollno = '1'
WHERE Faculty_id = $id AND date = '$date'");
将日期放在引号中并在 $rollno 之前设置正确的引号:
mysql_query("UPDATE students SET ". $rollno ." = '1'
WHERE Faculty_id = $id AND date = '$date'");
您在更新之前有双引号:"
和 SET 后的单引号:'
这使您的查询不正确。
日期必须用引号引起来,否则将被视为带减号的整数。
我认为您正在动态使用列名,并且您想要:
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);