【问题标题】:Displaying/ calling dynamic form field data显示/调用动态表单域数据
【发布时间】:2015-03-27 23:04:19
【问题描述】:

我是新来的,所以对任何礼节失败表示歉意。

我有一个由以下代码组成的动态生成字段名称的表单:

<input type="checkbox" value="<?php echo $eCart1->DisplayInfo("ID"); ?>" name="eCart1_Delete_<?php echo $eCart1->DisplayIndex; ?>" />

然后我希望使用这个张贴的变量来使用以下代码从表中删除记录:

// Phils remove from stored cart START //
while (!$eCart1->EOF()) {
$deletedID = $eCart1->DisplayIndex;
mysql_select_db($database_connEcommerce, $connEcommerce);
$query_itemQ = "DELETE FROM ecom_basket WHERE OptionID =     ".$_POST['eCart1_Delete_$deletedID']."";
$itemQ = mysql_query($query_itemQ, $connEcommerce) or  die(mysql_error());
$eCart1->MoveNext();
}
$eCart1->MoveFirst();
// Phils remove from stored cart END //

我的问题是,当我运行脚本时,PHP 语法很好,但是 MySQL 会抛出语法错误。

您需要更多信息吗?

提前致谢。

【问题讨论】:

  • 您的 optionIDs 是整数吗?另外...使用mysqli,而不是mysql。
  • 关于更多信息:语法错误如何?
  • 对不起,语法错误是:您的SQL语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以了解在第 1 行的 '' 附近使用的正确语法
  • 是的 OptionID 是整数

标签: php mysql forms dynamic


【解决方案1】:

你确定: $_POST['eCart1_Delete_$deletedID']

不应该 $_POST['eCart1_Delete_' . $deletedID]

如果您的 OptionID 为空,您的 SQL 可能会失败

【讨论】:

  • 不幸的是,这仍然会引发 MYSQL 语法错误。此外,如果我尝试回显它不呈现的字段。
【解决方案2】:

添加:

在 $query_itemQ = ..... 之后将 $query_itemQ 回显到您的代码中

这将准确地告诉您 SQL 语句发送到数据库的内容。然后,您可以在 phpmyadmin 中使用该语句来查看它是否在那里工作。如果它在 phpmyadmin 中工作,那么它是一个连接问题。如果它在 phpmyadmin 中给出了相同的错误,那么在此处发布您的 sql 语句(来自 echo),我们可以再次查看它。

【讨论】:

  • 如果没有呈现,那么要么你没有在定义语句后直接放置它,要么你有不同的问题。在我要求您回应该语句时​​,它甚至没有尝试使用该语句,因此您不会到达它可能无法执行该语句的地步。这应该是: $query_itemQ = "DELETE FROM ecom_basket WHERE OptionID = ".$_POST['eCart1_Delete_$deletedID']."";回声 $query_itemQ 。 "
    "; (所以在 while 循环中创建的每个语句都会写入屏幕)
猜你喜欢
  • 2015-12-10
  • 2021-05-11
  • 2017-05-26
  • 2022-06-15
  • 1970-01-01
  • 1970-01-01
  • 2017-01-17
  • 2022-11-03
  • 2016-11-17
相关资源
最近更新 更多