如何在使用 prepare 语句时在一个数据库列中添加两个 php 变量

how to add two php variables in one database column while using prepare statement

我正在使用它进行简单查询

for($i = 1; $i <= $Seats; $i++)
    {
    $insert = mysqli_query($con,"INSERT INTO table3(Id,Type,name,rows)VALUES('".$Id."','".$Type."','".$Name."','".$Name."".$i."')");
}

How can i insert last two variables in database with prepare statement like i do in simple query

我在这里使用准备语句

$insert="INSERT INTO table3(Id,Type,name,rows)VALUES(?, ?, ?, ?)";
$stmt = $con->prepare($insert);

我怎样才能在这里传递变量

$stmt->bind_param('ssss', $Id,$Type,$Name, $Name $i);
$stmt->execute(); 

只需为您的最后一个参数添加一个点(串联)即可:

$row = $Name . $i;
$stmt->bind_param('ssss', $Id, $Type, $Name, $row);
$stmt->execute(); 

编辑

但请注意,将变量“$name”存储在两个不同的列中是一种不好的做法。您应该只将“$i”存储在您命名为 "rows" 的列中,并在检索结果时手动连接 "name" 和 "rows"。 它将简化:

  • 更新 "name" 如果您出于某种原因想要更改它:只更新一列,而不是两列
  • 如果您想更改 $name 。 $id 通过 $name 。 “-”。 $id,您将不必更新整个数据库。
$insert="INSERT INTO table3(Id,Type,name,rows)VALUES(?, ?, ?, ?)";
$stmt = $con->prepare($insert);
$lastParam = $name.$i;
$stmt->bind_param('ssss', $Id,$Type,$Name, $lastParam);
$stmt->execute();