【发布时间】:2022-09-23 01:04:56
【问题描述】:
我设置了一个数据库,并且有 2 个不同的列,我想根据从$_GET 传入的 ID 将值动态插入到这两列之一中。我有 bindParam 变量部分工作,但我不确定如何在语句的 INSERT INTO 部分中使用变量。
一列称为product1_vote,另一列称为product2_vote。我从$_GET 获得1 或2,我想将其传递给prepare 调用以确定要更新的列。
$productID = $_GET[\'id\'];
$stmt = $pdo->prepare(\'INSERT INTO products (id, title, product1_vote)
VALUES(:id, :title, :product1_vote);
$id = $pdo->lastInsertId();
$title = \'Test\';
$date = date(\'m/d/Y h:i:s\', time());
$stmt->bindParam(\':id\', $id, PDO::PARAM_INT);
$stmt->bindParam(\':title\', $title, PDO::PARAM_STR);
$stmt->bindParam(\':product1_vote\', $date, PDO::PARAM_STR);
我将如何将 INSERT INTO 部分更改为动态工作,而不是当前硬编码的product1_vote。
这样的事情可以让您了解我所追求的:
$stmt = $pdo->prepare(\'INSERT INTO products (id, title, product.$productID._vote)
VALUES(:id, :title, :product.$productID._vote);
$id = $pdo->lastInsertId();
$title = \'Test\';
$date = date(\'m/d/Y h:i:s\', time());
$stmt->bindParam(\':id\', $id, PDO::PARAM_INT);
$stmt->bindParam(\':title\', $title, PDO::PARAM_STR);
$stmt->bindParam(\':product.$productID._vote\', $date, PDO::PARAM_STR);