【发布时间】:2013-12-26 00:50:57
【问题描述】:
这是我在这个网站上的第一篇文章。我会尽力提供所有需要的信息。我已经阅读了许多关于同一问题的答案。我尝试了很多组合,但没有一个有效。以下是让我最接近我的非常简单目标的那个 --> 向我的数据库写入一行。此代码位于我网站的受密码保护的部分。
<?php
//Connect to database
include("../ConfigFiles/ConnectDB_live.php");
echo "<br> I am still alive? <br>";
//Can I read from DB --- This worked on live
$strSQL = "SELECT * FROM invoicelist_table";
$rs = mysql_query($strSQL);
while($row = mysql_fetch_array($rs))
{
echo $row['FileName'] . "<br>";
}
//Can I write to the DB --- Live
//Lets mix a few ideas together
mysql_query($bdd,"INSERT INTO `invoicelist_table` (`InvoiceNo`, `FileName`, `FilePath`) VALUES ('9999', 'MyName', 'MyPath')") ;
echo mysql_error();
//or die(mysql_error());
echo "I wrote something to the DB successfully <br>";
// Close the database connection
mysql_close();
echo "The connection to DB is closed";
?>
请注意,我可以很好地读取数据库,但似乎无法写入。我也尝试过推荐的 mysqli 版本,但这也不起作用。我尝试了各种捕获错误的方法,但我一无所获……实际上一无所获!我已经尝试了至少十几种语法变体。我准备吐了!
我是网络编程新手,我的大部分答案都是在网上找到的。我认为我在有限的知识方面做得很好。这让我大吃一惊。我读到的任何关于工作的建议对我来说都没有意义。所以请像我 5 岁一样回答我!
提前致谢。
【问题讨论】:
-
欢迎堆栈溢出!试试下面的答案。我可能会看的另一件事是“InvoiceNo”列的数据类型。您正在尝试传入字符类型,但您使用的往往是数字类型。
-
该字段是一个字符串,因为我以前有时会在其中输入字母。我将来可能会改变它。我现在主要使用数字。
-
由于您的发票编号可能是唯一的,我强烈建议将该列设置为某种类型的数字(而不是像浮点数这样的小数)并作为属性自动递增。然后,将其设置为主键并将其编入索引,当然是在将来,但越早越好:)
标签: php mysql error-handling mysqli insert-into