【问题标题】:Php PDO is not updating have no idea whyPhp PDO 没有更新不知道为什么
【发布时间】:2013-05-30 06:03:10
【问题描述】:

这是我的代码:

$page = 'home';
$data = 'blah blah blah';
// my database connection (i know there is no problems here);
require_once('../inc/connection.php');
$id = 1;
$values = array(
    ':page' => $page,
    ':id' => $id,
    ':data' => $data
);
$query = 'UPDATE site SET :page=:data WHERE id=:id';
$sql = $conn->prepare($query);
$sql->execute($values);
// this prints out perfect
echo 'UPDATE site SET '.$page.'='.$data.' WHERE id='.$id;

当我运行此页面时,它会在最后打印回显,但是当我检查我的站点表时,它不会反映更新。我不知道我在做什么。连接很好,因为我可以很好地进行选择查询。

【问题讨论】:

  • 只是为了仔细检查,更新查询是否在 php 之外运行正常。

标签: php mysql pdo sql-update


【解决方案1】:

Table and Column names cannot be replaced by parameters in PDO

所以

$query = 'UPDATE `site` 
          SET `page`=:data 
          WHERE id=:id';

查询应该做特定的事情,如果您需要动态列,那么也许将它们放在 ifswitch 语句中,或者使用处理列变化等的类方法构建一个处理此问题的数据库模型。

【讨论】:

    猜你喜欢
    • 2019-01-05
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多