我已经搜索过,但是没有找到适合我的代码的答案或示例。我是MySQL / PHP的新手,所以我可能不明白我所看到的答案。
我有一个网页,上面发布的数据只想使用一个插入内容。到目前为止,这是我要插入的内容:

    $statement1 = $link->prepare("INSERT INTO collection_items(collection_list_id, collection_item_number, username_id, collection_item_title, collection_item_text, created_date)
   VALUES(:collection_list_id, :collection_item_number,  :username_id, :collection_item_title, :collection_item_text, now())");
$statement1->execute(array(
   "collection_list_id" => $last_id,
    "collection_item_number" => "1",
    "username_id" => $user_number,
    "collection_item_title" => $collection_item_title_1,
    "collection_item_text" => $collection_item_text_1
),
(
   "collection_list_id" => $last_id,
    "collection_item_number" => "2",
    "username_id" => $user_number,
    "collection_item_title" => $collection_item_title_2,
    "collection_item_text" => $collection_item_text_2
));


如果我删除最后一组数据,那么它对于一行就可以了。我从该页面发布了大约20二十行数据。
TIA

这就是我所拥有的,但无法正常工作。我展示了更多代码来提供帮助。

$form = $_POST;
$collection_item_title_1 = $form[ 'number1' ];
$collection_item_text_1 = $form[ 'comment1' ];
$collection_item_title_2 = $form[ 'number2' ];
$collection_item_text_2 = $form[ 'comment2' ];

$last_id = $link->lastInsertId();
$q= $link->query("SELECT id FROM sitelok WHERE Username='$slusername'");
$user_number = $q->fetchColumn();

$collection_item_titles = array($collection_item_title_1, $collection_item_text_1, $collection_item_title_2, $collection_item_text_2);

$statement1 = $link->prepare("INSERT INTO collection_items(collection_list_id, collection_item_number, username_id, collection_item_title, collection_item_text, created_date)
   VALUES(:collection_list_id, :collection_item_number,  :username_id, :collection_item_title, :collection_item_text, now())");
    for ($i = 0; $i < size($collection_item_titles); $i++)
    $statement1->execute(array(
   "collection_list_id" => $last_id,
    "collection_item_number" => "$i",
    "username_id" => $user_number,
    "collection_item_title" => $collection_item_title[$i],
    "collection_item_text" => $collection_item_text[$i]
));

最佳答案

您可以创建一个数组并遍历数据,而不是将数据放入单独的变量($ collection_item_title_1,$ collection_item_title_2)中,您可以执行诸如$ collection_item_titles []之类的操作,然后依次遍历:

    statement1 = $link->prepare("INSERT INTO collection_items(collection_list_id, collection_item_number, username_id, collection_item_title, collection_item_text, created_date)
   VALUES(:collection_list_id, :collection_item_number,  :username_id, :collection_item_title, :collection_item_text, now())");
    for ($i = 0; $i < size($collection_item_titles); $i++)
    $statement1->execute(array(
   "collection_list_id" => $last_id,
    "collection_item_number" => "$i",
    "username_id" => $user_number,
    "collection_item_title" => $collection_item_title[$i],
    "collection_item_text" => $collection_item_text[$i]
);

09-25 16:28
查看更多