Php 理解如何将数组发送到mySQL数据表时遇到问题

Php 理解如何将数组发送到mySQL数据表时遇到问题,php,mysql,sql,arrays,Php,Mysql,Sql,Arrays,今天我刚开始使用phpmyAdmin和mySQL,我在理解如何使用for循环将数组发送到表时遇到了一些问题。$tid是一个设定的编号,用于在不同的事务之间更改事务$wineLastNames和$wineLastNames都是数组 for( i=1;i <= $wineQty; i++) { $wineTastingTable = "INSERT INTO wineTastingTable (transactionID, wineFirstName, wineLastName) VA

今天我刚开始使用phpmyAdminmySQL,我在理解如何使用for循环将数组发送到表时遇到了一些问题。
$tid
是一个设定的编号,用于在不同的事务之间更改事务
$wineLastNames
$wineLastNames
都是数组

for( i=1;i <= $wineQty; i++) {
    $wineTastingTable = "INSERT INTO wineTastingTable (transactionID, wineFirstName, wineLastName) VALUES ('$tid','$wineFirstNames[$i]','$wineLastNames[$i]')"
    if (!mysqli_query($con,$wineTastingTable)) {
       die('Error: ' . mysqli_error($con));
       }

for(i=1;i试试这个,我想你忘了在for循环中添加
$

    for( $i=1;$i <= $wineQty; $i++) {
                $wineTastingTable = "INSERT INTO wineTastingTable (transactionID, wineFirstName, wineLastName) VALUES ('".$tid."','".$wineFirstNames[$i]."','".$wineLastNames[$i]."')";
                if (!mysqli_query($con,$wineTastingTable)) {
                    die('Error: ' . mysqli_error($con));
                }
}

对于($i=1;$i正如其他答案所提到的,所有变量都必须用
$
声明才能被解释,否则(在您的上下文中)它将被解释为字符串。您可能总是想尝试
foreach
循环,如下所示:

   foreach ($array as $item){
       $query="INSERT INTO wines (id, field1, field2) VALUES ($item[0], $item[1], $item[2])";
       MySQLi_query($conn,$query) or die(mysqli_error());
   }

这是假设一个多维数组结构,但它看起来像(从你的帖子)这就是您正在处理的问题。

您是否尝试过将
$
添加到第一行代码中的
i
变量中?分析错误:语法错误,意外的T_IF。summea建议您可能还希望在给定代码中的
“INSERT…”
行的末尾添加
。(以及关闭for循环,正如Adarsh所指出的…)此外,在for循环中用0(零)启动$i而不是1,因为数组中的索引是从0开始的。Adarsh你是对的!我仔细检查并关闭了导致各种问题的for循环,然后我还将其设置为从0开始,因为数组就是这样工作的,并以分号结束变量。唉,我想我只是需要睡觉/我想学这些东西太晚了晚上好。谢谢你的帮助!解析错误:语法错误,意外的T_,如果它说错误与IF一致(!mysqli_等……由于错误提到了
T_IF
,因此在
IF
之前的查询末尾缺少分号是相当可疑的。尝试过之后,问题是for循环没有关闭,我的版本缺少$wineTastingTable结尾的分号。还需要设置$i=0,然后执行$i