2
mysql_query("UPDATE students SET '. $rollno .' = '1'
             WHERE Faculty_id = $id AND date = $date");

$ROLLONO是未更新的列的名称。

4

6 回答 6

0

您在列名周围使用单引号。您可能不需要它们,但如果需要,它们会使用反引号 ` 字符代替 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");
于 2013-09-01T09:01:19.733 回答
0
  • 变量名区分大小写。
  • 最好使用 concat 运算符 (".")
  • 变量必须包含列的名称,而不是数字
于 2013-09-01T09:02:44.690 回答
0

您在魔术引号(“)中使用您的 PHP 变量。因此无需保留 .

同样在查询中,列名应该用`包裹或什么都不包裹。

如果它们不是 int 类型,列名的值应该在 ' 或 " 中。

消除 ”。” 并且 '。在日期条件中添加 '

mysql_query("UPDATE students SET $rollno = '1' WHERE Faculty_id = $id AND date = '$date'");

于 2013-09-01T08:59:09.750 回答
0

将日期放在引号中并在 $rollno 之前设置正确的引号:

mysql_query("UPDATE students SET ". $rollno ." = '1'
             WHERE Faculty_id = $id AND date = '$date'");

您在更新之前有双引号:"

和 SET 后的单引号:'

这使您的查询不正确。

日期必须用引号引起来,否则将被视为带减号的整数。

于 2013-09-01T08:59:11.377 回答
0

我认为您正在动态使用列名,并且您想要:

mysql_query("UPDATE students SET ". $rollno ." = '1' WHERE Faculty_id = $id AND date = $date");
于 2013-09-01T09:03:58.780 回答
-1
$sql = "UPDATE students SET rollno = 1 WHERE Faculty_id = $id AND date = $date "
mysql_query($sql);
于 2013-09-01T09:01:06.497 回答