【问题标题】:PHP and MySQL INSERT INTO does not work -- No error and no new lines in DBPHP 和 MySQL INSERT INTO 不起作用 -- 数据库中没有错误和新行
【发布时间】: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


【解决方案1】:

将您的连接作为第二个参数移动或如果您没有关闭连接则将其删除

 mysql_query("INSERT INTO `invoicelist_table` (`InvoiceNo`, `FileName`, `FilePath`) VALUES ('9999', 'MyName', 'MyPath')") ;

Docs

【讨论】:

  • 同意,即使它是唯一没有必要的打开连接。点赞!
  • 所以我所要做的就是摆脱连接引用。我知道我很接近。我肯定会进一步提出更多问题。谢谢!!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 2012-09-28
  • 2011-10-15
  • 2016-03-08
  • 2017-12-20
  • 2016-05-20
相关资源
最近更新 更多