编辑:
我将表名称从“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/