PHP ->exec() 成功,但表中没有存储任何内容?

标签 php mysql

我有一个 MySQL 查询,它不仅可以在 PhpMyAdmin 中正常运行,而且似乎也可以从 PHP 成功运行。

我的SQL语句基本上是这样的:

$query = "INSERT INTO store_to_status 
    (
        XYZ_id, ABC, DEF, GHI, JKL, MNO
    ) 
    (
        SELECT XYZ_id, ABC, DEF, GHI, JKL, MNO
            FROM status_table WHERE obj_type = $obj_type
    )";
$db->exec($query);

当我尝试运行此语句时,没有记录插入到表中。

但是 - 当我回显 exec() 时,它会回显应该插入的行数。更有趣的是,ID 列(设置为自动递增)认为插入成功(这意味着,如果我尝试在此语句之后插入测试记录,并运行该页面几次,则会出现每个测试记录 ID 之间有 7 个数字)!

最佳答案

即使没有插入任何值,INSERT 也会成功。确保您的 SELECT 实际上返回行。

关于PHP ->exec() 成功,但表中没有存储任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28354213/

相关文章:

php - 由于变量内容中的 ' 导致 SQL 错误

php - VSCodium (VSCode) 不启动调试 PHP (PHP Debug + Xdebug, Linux)

php - 如何计算父类别及其后代中的项目?

php - 用 PHP 实现 COMET

php - 输出html div冲突

mysql - 从 FROM_UNIXTIME 转换负值

mysql - 从 mysql order by IN 子句获取结果

mysql - SQL 脚本 - IF mysql ELSEIF sqlserver

php - 如何从另一个脚本运行我的脚本并等待完成?

php - 尝试让 Javascript 从多个选择框中选择每个子项