使用PHP更新数据库条目不适用于文本字段

时间:2016-03-19 17:23:54

标签: php database mysqli sql-update

我试图运行以下代码,但它给了我一个奇怪的错误..

$result = $db->query("UPDATE `items` 
          SET `item_label`= ".$title.", 
              `item_quantity`=".$quantity.", `item_price`=".$price."
          WHERE `item_id` = ".$_POST['id']);

如果我从上面的代码中删除item_label ="。$ title。",它可以完美地运行并成功更新给定行的数量和价格。 e.g。

$result = $db->query("UPDATE `items` 
          SET `item_quantity`=".$quantity.",
              `item_price`=".$price." 
         WHERE `item_id` = ".$_POST['id']);

当我运行包含item_label部分的代码时,它无法设置item_label。它会给出以下错误消息..

  

未知栏'更新文字'在'字段列表'

现在"更新文本"是$ title的值。

我对如何/为何将此内容视为列标题感到困惑!?

关于为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:1)

由于它是一个字符串,你应该在$title

周围加上引号
  

我会做类似下面的事情

$result = $db->query("UPDATE items SET item_label = '".$title."', item_quantity=$quantity,item_price=$price WHERE item_id =$_POST['id']");