php - 无效查询 - 更新 MySQL 数据库时出现问题

标签 php mysql sql database forms

编辑:

我将表名称从“New Orders”更改为“orders”,并且没有语法错误。它正在发布到表,但它没有发布整数值。它发布的唯一内容是零(0)。

我尝试在变量周围添加双引号,即。 “.$长度。”但这给了我和以前一样的错误。所以这是一个语法错误,但我不知道如何修复它。

感谢大家的快速解答。非常感谢您的帮助。非常感谢。

原文:

我在尝试更新 MySQL 数据库中的简单表时遇到了最困难的时刻。我所有诊断此问题的尝试都失败了,并且我不断收到相同的错误消息:

Invalid query: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'orders (length, width, color, quantity, total ) VALUES ('', '', '', '', '')' at line 1

我尝试修复查询,检查以确保所有变量都匹配(甚至在表单上),甚至重写了几次查询;曾经使用sprintf

现在我来找你了。我知道您可以帮助我,我将不胜感激(:

这是代码:

<?php
require("addrow_info.php");

// Gets data from URL parameters
$length = $POST['length'];
$width = $POST['width'];
$color = $POST['color'];
$quantity = $POST['quantity'];
$total = $POST['total'];

// Opens a connection to a MySQL server
$connection=mysql_connect ("localhost", $username, $password);
if (!$connection) {
  die('Not connected : ' . mysql_error());
}

// Set the active MySQL database
$db_selected = mysql_select_db($database, $connection);
if (!$db_selected) {
die ('Can\'t use db : ' . mysql_error());
}

// Insert new row with user data
$query = "INSERT INTO new orders (length, width, color, quantity, total ) VALUES     ('$length', '$width', '$color', '$quantity', '$total')";

$result = mysql_query($query);

if (!$result) {
die('Invalid query: ' . mysql_error());

mysql_close();
}

?>

表格如下:

<form action="addrow.php" method="post">

Size(inches)<br>Length<input type="text" name="length" id="length" size="2" class="num">
      Width<input type="text" name="width" id="width" size="2" class="num"><br>
Quantity<input type="text" name="quantity" size="2" class="num" id="quantity">
<input type="hidden" class="num" value="0.20"><br><br>


<label>Total:</label><div id="tot" class="tot"     style="width:100px;height:20px;border:1px solid black;"><br><br><br>
<input type="text" class="tot" name="total">
</div>
<input type="submit" name="submit" value="submit">
</form>

最佳答案

您在访问表名称时遇到问题

INSERT INTO new orders
          -----^

这里不能有空间。

修复

将表名称更改为 new_orders 或数据库中的其他内容。

并在 PHP 代码中进行访问,例如 INSERT INTO new_orders

免责声明:停止使用 mysql_* 函数,因为它们已被弃用。改用 MySQLi 或 PDO。

关于php - 无效查询 - 更新 MySQL 数据库时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19807363/

相关文章:

javascript - 使用ajax获取数据时出错

php - 如何正确地遍历一个大的 json 文件

php - 如何在TCPDF或FPDF中正确格式化?

mysql - Kubernetes 中的作业出错(如何使用 Kubernetes 部署 Rails 应用程序?)

php - 如何在SQL中打印表名包含对象的行?

php - Elasticsearch post_filter

php - 无法加载 phpMyAdmin 配置(./config.inc.php :31): parse error

php - 我如何将我的 Android 设备(不是模拟器)连接到 wamp 服务器?

php - 当父行链接到子行时

mysql - 如何解决这个多个where条件(field_ids和values)?