php - 错误: Unknown column in 'where clause'

标签 php mysql

我有一个表单,在加载页面时填充了 mySQL 数据库值。可以编辑表单中的数据,然后使用提交按钮将数据发送到 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");

这是用于填充表单的 SQL 查询,然后使用 fetch_array 分配给变量 $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 查询来检索值,所以我不确定哪里出错了。感谢您的帮助!

最佳答案

您在 $sunday 左右的更新查询中缺少引号。

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

关于php - 错误: Unknown column in 'where clause' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5672495/

相关文章:

php - 使用 jQuery.ajax() 发送和使用 POST 变量

php - 创建一个 PHP 网页,使您能够在 Linux 中重新启动服务器?

php - 更新 MYSQL PHP 表单

mysql - 如何使用 Auth0 的自定义数据库将用户添加到 MySQL 数据库?

javascript - 为什么我的 SUBSTRING 或 LEFT SQL 查询不显示

php mysql 图片显示不正确

php - Woocommerce 为特定用户角色设置最低订单

php - 无法获取 DISTINCT 列值 :

mysql - Wampserver 2.4 错误 1045 (28000) : Access denied for user 'root' @'localhost' (using password: NO)

mysql - 查询左连接未返回预期结果