gpt4 book ai didi

php - foreach 和数组的错误

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:46 24 4
gpt4 key购买 nike

您好,我正在使用 foreach 将一本书的多个作者插入到我的数据库中。

这是foreach:

foreach ($_POST["authors"] as $author) 
{
$sqlAuthor = "INSERT INTO book_author (book_ISBN, author_ID)
VALUES('$isbn','$author')";

mysql_query($sqlAuthor);
}

我正在为作者提供 select multiple从我为其创建了一个函数以显示在 select multiple 中的页面可用的作者。

代码生成的正是我希望它在我的数据库页面中生成的内容(所有作者的姓名)

这是 multiple()功能:

<?php include ("includes/connections.php");
function multiple($intIdField, $strfNameField, $strlNameField, $strTableName, $strOrderField, $strNameOrdinal, $strMethod="asc") {
echo "<select multiple=\"multiple\" name=\"$strNameOrdinal\[\]\">\n";

$strQuery = "select $intIdField, $strfNameField, $strlNameField
from $strTableName
order by $strOrderField $strMethod";

$rsrcResult = mysql_query($strQuery);

while($arrayRow = mysql_fetch_assoc($rsrcResult)) {
$strA = $arrayRow["$intIdField"];
$strB = $arrayRow["$strlNameField"] . " " . $arrayRow["$strfNameField"];
echo "<option value=\"$strA \">$strB</option>\n";
}

echo "</select>";
}
?>

现在由于某种原因它抛出以下错误:

Notice: Undefined index: authors in C:\xampp\htdocs\ex\addBook.php on line 63

Warning: Invalid argument supplied for foreach() in C:\xampp\htdocs\ex\addBook.php on line 63

我想它告诉我它找不到 authors array 但我觉得很奇怪

这里是 html 中的 php 代码调用 multiple()功能:

<?php multiple("author_ID", "author_firstname", "author_lastname", "author", "author_lastname", "authors"); ?>

有人知道我的代码有什么问题吗?

最佳答案

更改为

echo "<select multiple=\"multiple\" name=\"{$strNameOrdinal}[]\">\n";

并在使用它之前检查它是否按照其他人的建议设置。

编辑:与手头的问题无关,但您在 $strA 之后有一个额外的空间,如果不是故意的,请更改为。

echo "<option value=\"$strA\">$strB</option>\n";

关于php - foreach 和数组的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10938200/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com