【发布时间】:2013-12-17 00:20:31
【问题描述】:
我已经阅读了很多关于“字段列表”中的“未知列”错误的帖子,当我尝试插入到我的数据库中时,我遇到了错误。我阅读的所有帖子,错误包括似乎有问题的列名。在我的情况下,它只是''......什么都没有!
我手工编写所有代码,因为我不是“真正的”程序员,而且我使用免费的东西,例如 Notepad++。我没有任何调试工具。
下面是我的代码。我有很多重复的台词,所以我删掉了一些。
<?php
//Connect to database
include("../ConfigFiles/ConnectDB_local_i.php");
//Populating the variables
$InvoiceNo = $_POST["nInvoiceNo"];
$InvoiceDate = $_POST["nDate"];
$ClientName = $_POST["nName"];
$ClientAddress = $_POST["nAddress"];
$ClientPhone = $_POST["nPhone"];
$ClientEmail = $_POST["nEmail"];
$STotalTaxable = $_POST["nSTotalTax"];
$TPS = $_POST["nTPS"];
$TVQ = $_POST["nTVQ"];
$STotalNonTaxable = $_POST["nSTotalNoTax"];
$TotalInvoice = $_POST["nTotalNet"];
$DescLine_1 = $_POST["nDescLine1"];
---I cut lines 2 though 14. They are all the same ---
$DescLine_15 = $_POST["nDescLine15"];
$TotalLine_1 = $_POST["nTotalLine1"];
---I cut lines 2 though 14. They are all the same ---
$TotalLine_15 = $_POST["nTotalLine15"];
//Writting to DB
echo "<br>I wrote to the database<br>";
$query = "INSERT INTO `invoicedata_table`
(`InvoiceNo`,
`InvoiceDate`,
`ClientName`,
`ClientAddress`,
`ClientPhone`,
`ClientEmail`,
`STotalTaxable`,
`TPS`,
`TVQ`,
`STotalNonTaxable`,
`TotalInvoice`,
`DescLine_1`,
---I cut lines 2 though 14. They are all the same ---
`DescLine_15`,
`TotalLine_1`,
---I cut lines 2 though 14. They are all the same ---
`TotalLine_15`)
VALUES
('$InvoiceNo',
'$InvoiceDate',
'$ClientName',
'$ClientAddress',
'$ClientPhone',
'$ClientEmail',
'$STotalTaxable',
'$TPS',
'$TVQ',
'$STotalNonTaxable',
'$TotalInvoice',
`$DescLine_1`,
---I cut lines 2 though 14. They are all the same ---
`$DescLine_15`,
`$TotalLine_1`,
---I cut lines 2 though 14. They are all the same ---
`$TotalLine_15`);";
$mysqli->query($query) or die($query.'<br />'.$mysqli->error);
//Close the DB connection
$mysqli->close();
?>
【问题讨论】:
-
您在
VALUES列表的中途切换引号:它应该是'$DescLine_1'(可能是它之后的所有其他引号),而不是现在它周围的反引号。另外:大多数调试工具都是免费的。很好。 -
最后 4 个值使用 ` 而不是 '
-
Wrikken,单引号的反引号是问题所在。请提交您的评论作为答案,以便我接受。谢谢。还有...题外话,你会推荐一个简单的调试器来处理什么?
-
好的 Flyer,Wrikken 还没有回答。你有同样的答案。如果您想要答案,请继续,我会接受第一个通过的。
-
我应该使用 @ 来确保您收到我的评论。 @Wrikken
标签: php mysql error-handling