【问题标题】:PHP PDO wont update databasePHP PDO 不会更新数据库
【发布时间】:2014-01-26 11:23:09
【问题描述】:

我尝试使用 PDO,但我得到 1,1,1 的结果,但数据库不会更新。我不知道我的代码有什么问题。

try {$db = new PDO("mysql:dbname=$db_name;host=$db_host", $db_user, $db_pass );}
catch(PDOException $e){echo $e->getMessage();}

$title_insert = $db->prepare("UPDATE topics SET topic_title = ? WHERE id = ?");
$title_insert->bindParam(1, $id);
$title_insert->bindParam(2, $topic_title);

$tag_insert = $db->prepare("UPDATE topics SET topic_tags = ? WHERE id = ?");
$tag_insert->bindParam(1, $id);
$tag_insert->bindParam(2, $topic_tags);

$story_insert = $db->prepare("UPDATE topics SET topic_story = ? WHERE id = ?");
$story_insert->bindParam(1, $id);
$story_insert->bindParam(2, $topic_story);


$id = 1;
$topic_title = "title";
$topic_tags = "tags";
$topic_story = "story";

$result_title = $title_insert->execute();
echo $sonuc_title.',';

$sonuc_tag = $tag_insert->execute();
echo $sonuc_tag.',';

$result_story = $story_insert->execute();
echo $result_story;

感谢您的回答...

【问题讨论】:

  • 你真的需要在 1 条记录上进行 3 次更新吗?

标签: php mysql pdo sql-update


【解决方案1】:

您是否尝试过切换参数编号?

$title_insert = $db->prepare("UPDATE topics SET topic_title = ? WHERE id = ?");
$title_insert->bindParam(1, $topic_title);
$title_insert->bindParam(2, $id);

祝你好运!

PDO Bind param

【讨论】:

    【解决方案2】:

    你应该在绑定语句之前影响你的变量:

    $id = 1;
    $topic_title = "title";
    $topic_tags = "tags";
    $topic_story = "story";
    
    $title_insert = $db->prepare("UPDATE topics SET topic_title = ? WHERE id = ?");
    $title_insert->bindParam(1, $id);
    $title_insert->bindParam(2, $topic_title);
    
    $tag_insert = $db->prepare("UPDATE topics SET topic_tags = ? WHERE id = ?");
    $tag_insert->bindParam(1, $id);
    $tag_insert->bindParam(2, $topic_tags);
    
    $story_insert = $db->prepare("UPDATE topics SET topic_story = ? WHERE id = ?");
    $story_insert->bindParam(1, $id);
    $story_insert->bindParam(2, $topic_story);
    
    
    $result_title = $title_insert->execute();
    echo $sonuc_title.',';
    
    $sonuc_tag = $tag_insert->execute();
    echo $sonuc_tag.',';
    
    $result_story = $story_insert->execute();
    echo $result_story;
    

    【讨论】:

      猜你喜欢
      • 2013-09-28
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-12
      • 2022-01-02
      相关资源
      最近更新 更多