php - 为准备好的语句设置一个额外的列值

标签 php mysql

我有一个复制现有行的查询: 我需要将另一列 themeid 设置为 $new_theme_id 值。如何将其添加到此查询中?

$existing_theme_id = 1234;
$new_theme_id = 5678;
$query = "INSERT INTO theme_styles SELECT selector, property, value, '$new_theme_id' AS themeid FROM theme_styles WHERE themeid=?";
try { $stmt = $dbh->prepare($query); $stmt->execute(array($theme_id)); } catch(PDOException $ex) { echo 'Query failed: ' . $e->getMessage(); exit; }

此查询不起作用。

我的表结构:

id      int(6)  AUTO_INCREMENT  
themeid     int(4)
selector    varchar(100)    latin1_swedish_ci
property    varchar(50) latin1_swedish_ci
value       mediumtext  latin1_swedish_ci

请帮忙!

最佳答案

好吧,我认为您需要确保您的列与您的查询完全匹配,但是,您的新表中有 5 列,但查询中只有 4 列。 尝试这个 $query = "INSERT INTO `theme_styles` (`selector`, `property`, `value`, `themeid`) SELECT `selector`, `property`, `value`, '$new_theme_id' AS themeid FROM `theme_styles` WHERE主题id=?”;

关于php - 为准备好的语句设置一个额外的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28802781/

相关文章:

php - 如何使用 PHP 插入查询将当前时间戳插入 MySQL 数据库

javascript - 如何将 mysql 结果传递给变量以在模板引擎中呈现

php - 管理 PHP 和 MySQL 中事务边界中的不同类插入和更新

php - PHP 是否有可以在代码中使用的 DEBUG 符号?

php - 错误的整数值 : '' for column 'ColorHair' at row 1

php - 在 PHP 文件上传期间检查帖子属性

mysql - Maria DB 查询以选择,然后更新表以删除不需要的 HTML 和脚本标签

php - 简化 PHP 中的查询

php - 如何比较不同列中同一表中的值

php - 推荐一个好的 PHP HTTP 类