错误:'where子句'中的未知列

时间:2011-04-15 04:47:15

标签: php mysql

我有一个在加载页面时填充了mySQL db值的表单。可以编辑表单中的数据,然后使用提交按钮将数据发送到mysql以覆盖表单中预加载的值。字段以正确的形式显示,但更改和提交后,我收到以下内容: 错误:'where子句'中的未知列。

我使用mysql查询相对较新,而不是采用'phpmyadmin'路径._。

这是我用来填充原始表单数据的表的查询:

INSERT INTO mytable VALUES ("sunday", "name1", "price1"), ("monday", "name2", "$35"), ("tuesday", "name3", "$100"), ("wednesday", "name4", "$65"), ("thursday", "name5", "$5"), ("friday", "name6", "$57"), ("saturday", "name7", "$10");

这是用于填充表单然后使用fetch_array分配给变量的sql查询 $sun_data = mysql_query("SELECT * FROM mytable WHERE day='sunday'") or die(mysql_error()); ... ...

$sun_info = mysql_fetch_array( $sun_data );

然后是表格:

<form action="update_form.php"> <input type="text" name="sun_name" value="<?php echo $sun_info['name'] ?>" /> <input type="text" name="sun_price" value="<?php echo $sun_info['price'] ?>" />

就像我说表单更新正常但是当表单数据提交到update_form.php时,我收到错误。这是表单操作update.php

$sun_day_change = $_POST['sun_name']; $sun_price_change = $_POST['sun_price']; $sunday = 'sunday';

$sql = "UPDATE mytable SET name = '$sun_day_change', price = '$sun_price_change' WHERE day = ".$sunday;

if (!mysql_query($sql)) { die('Error: ' . mysql_error()); }

header('Location: http://localhost/form.php');

我假设问题是当我将值传递回数据库但由于我使用了几乎相同的sql查询来检索值,我不知道哪里出错了。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

更新查询中缺少引号,周围是$ sunday。

$sql = "UPDATE mytable SET name = '$sun_day_change', price = '$sun_price_change' WHERE day = '".$sunday."'";