Codeigniter 无法使用 join 方法从数据库表中删除行

2024-01-07

我想从“table1”中删除 (user_id = 5) 的那些行,但我应该检查这些帖子是否“(table2 中的 title = title1)。我使用 Codeigniter,在尝试删除时收到此错误:“除非包含“where”或“like”子句,否则不允许删除。”您能帮我检查一下下面的代码有什么问题吗?

table1:

table2:

public function delete($title, $user_id){ 

    $this->db->select('table1.*');
    $this->db->from('table1','table2');   
    $this->db->where('table1.user_id', $user_id); 
    $this->db->where('table2.title', $title);
    $this->db->join('table2','table1.post_id=table2.post_id');

     $query = $this->db->get();   

        if ($query && $query->num_rows() > 0) {

    $this->db->delete('table1.*');
    $this->db->from('table1','table2');   
    $this->db->where('table1.user_id', $user_id); 
    $this->db->where('table2.title', $title);
    $this->db->join('table2','table1.post_id=table2.post_id');
    return true;
            } 
    else {
    return false;
    }

   } 

使用子查询。

example

#Create where clause
$this->db->select('id');
$this->db->from('table2');
$this->db->where('table2.title', $title);
$where_clause = $this->db->get_compiled_select();

#Create main query
$this->db->where('table1.user_id', $user_id); 
$this->db->where("`id` NOT IN ($where_clause)", NULL, FALSE);
$this->db->delete('table1'); 

参考

  • 从这里被盗:https://stackoverflow.com/a/16303021/1275832 https://stackoverflow.com/a/16303021/1275832
  • 关于子查询:http://www.mysqltutorial.org/mysql-subquery/ http://www.mysqltutorial.org/mysql-subquery/
  • 编译选择:https://github.com/NTICompass/CodeIgniter-Subqueries https://github.com/NTICompass/CodeIgniter-Subqueries
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Codeigniter 无法使用 join 方法从数据库表中删除行 的相关文章

  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • 如何通过php的require()或include()函数传递变量?

    当我使用这个时 require diggstyle code php page page no 警告是 无法打开流 第 198 行 C xampp htdocs 4ajax gallery core php 中没有错误 错误是 Failed
  • 在 Symfony 序列化中更改序列化属性名称

    我正在使用 Symfony 序列化器 效果很好 use Symfony Component Serializer Annotation Groups Groups default notification public function g
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 限制自己超载外部 API 的速率

    我发现了很多信息和脚本示例 展示了如何对 API 用户进行速率限制 但我无法找到任何示例来说明在施加这些限制时如何对您自己的 API 请求进行速率限制 我总是用诸如以下的代码来限制我的脚本sleep or usleep命令 但感觉这是一种低
  • PHP:读取字体文件的 TrueType/OpenType 元数据

    如何阅读字体详细信息 例如 字体在其元数据中包含版权 姓氏 设计者 版本等信息 我还希望脚本能够计算文件中的字形数量 并返回字体支持的语言 例如 典型的字体可能包含西方语言 瑞典语和罗马语言支持 并具有数百个字形 它应该支持 truetyp
  • 将 Google 信任徽章添加到 Magento

    我正在尝试将 Google Trust Badge 添加到我的 magento 商店 我尝试在 Magento 网站上搜索扩展程序 但找不到 我是否需要将以下代码粘贴到产品和结账页面 还是必须对其进行更改 如果有人能引导我走向正确的方向 我
  • MYSQL 区分大小写的 utf8 搜索(使用 hibernate)

    我的登录表具有 utf8 字符集和 utf8 排序规则 当我想要检查用户名并检索该特定用户名的其他信息时 hql 查询会为我提供小写和大写相同的结果 我应该如何处理适用于案例的 HQL 查询 我使用 Mysql 5 和 java hiber
  • InnoDB 因读未提交而死锁! - Java - Glassfish - EJB3(JPA/Hibernate)

    几天来 我在使用 Glassfish EJB3 和 Mysql InnoDB 的 Java 应用程序上遇到了死锁问题 配置 Mysql InnoDB Ver 14 12 Distrib 5 0 51a 适用于 debian linux gn
  • 如何在 yii2 中使用两个不同的模型登录或切换身份类别?

    我想允许用户从两个不同的模型登录 配置文件 user gt identityClass gt app models User one more class here enableAutoLogin gt false authTimeout
  • 使用 XSLT 将 XML 转换为 SQL

    由于我无法控制的原因 我将获得一个 XML 文件和一个 XSLT 文件 该文件可以将 XML 文件转换为 SQL 代码或错误 现在让我们假设我们可以信任提供 XML 文件的人不会在 XML 中包含危险的构造 我什至不知道是否应该使用 Sim
  • fgetcsv 在特定行打开?

    有没有办法使用 fgetcsv 在特定行上打开 我有一个非常大的 csv 想通过 ajax 一次运行大约 100 行 我可以轻松停止 while 循环 但如何在特定行上打开 或者这是不可能的 从第 100 行开始读取没有简单的方法 但您可以
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • postgreSql 中特定时间后表更新

    我已经在 postgres 中创建了表 现在我想在特定时间 例如 1 小时 后更新一行 我看到很多问题 例如 https dba stackexchange com questions 56424 column auto updated a
  • MySQL PHP邮政编码比较具体距离

    我试图找出比较一个邮政编码 用户提供的 和一大堆其他邮政编码 现在大约有 200 个邮政编码 之间的距离的最有效方法 相对于加载时间 但它会随着时间的推移而增加 我不需要任何精确的东西 只是在球场上 我下载了整个美国的邮政编码 csv 文件
  • 如何在 OS X 上使用 OpenSSL 1.0.1 编译 PHP 5.5.19

    我已经安装了 OpenSSL 1 0 1j usr local ssl现在我尝试使用此版本的 OpenSSL 编译 PHP 5 5 19 这是我的配置过程 export CFLAGS arch x86 64 export CXXFLAGS
  • 如何仅使用 PHP5 RecursiveDirectoryIterator 类递归显示具有特定文件类型的文件夹和子文件夹

    您好 我正在尝试使用 FilterIterator 上的扩展来获取 RecursiveDirectoryIterator 类 但由于某种原因 它仅在根目录上进行迭代 我的代码是这样的 class fileTypeFilter extends
  • Sonata DateTimePickerType 类默认日期显示错误的日期时间格式

    我陷入困境 我不知道如何使用 sonata DateTimePickerType 类正确设置默认日期和时间 我尝试了不同的方法 但到目前为止 没有一种方法没有帮助 在下面的截图中 help 键显示正确的日期和时间 但是当我使用 dp 默认日
  • MVC 模式中的验证层

    验证模型将使用的数据的最佳位置在哪里 例如 考虑登记表 我们有一些来自注册表的数据 那么验证这些数据的最佳位置在哪里 我们应该通过 if 语句或特殊的验证器类来检查每个数据 这意味着大量的编码 所以我想了解在哪里可以做到这一点 在控制器中
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中

随机推荐

  • 如何在绘图中添加多个带有循环的形状

    我使用plotly包在python中显示动态财务图表 然而 我没能用 for 循环将所有关键点线放在一张图表上 这是我的代码 fig update layout for i in range 0 len data shapes go lay
  • 如何防止IE10中滚动条覆盖内容?

    在 IE10 中 滚动条并不总是存在 当它出现时 它会作为覆盖层出现 这是一个很酷的功能 但我想为我的特定网站关闭它 因为它是一个全屏应用程序 而且我的徽标和菜单消失在其后面 IE10 CHROME 有人知道在 IE10 上始终将滚动条固定
  • 如何在我的共享 Hostgator 上创建 git 存储库?

    如何在我的共享 Hostgator 上创建 git 存储库 顺便获得了 SSH 访问权限 假设已经安装了 Git git init bare path to repo 如果未安装 Git 您将无法直接推送到托管存储库 但您可以通过执行以下操
  • 如何格式化/着色 NSTextView 字符串的技术

    我正在寻找一种可靠的技术来在 NSTextView 中进行简单的字符串格式化 粗体 斜体 文本解析几乎是用正则表达式完成的 但现在我需要应用字体特征并更改大小 关于如何将文本设为粗体的一些代码片段 textView textStorage
  • R:尽管“append = TRUE”,但当表存在时,为什么 dbWriteTable 会失败

    我正在尝试使用以下命令将新数据附加到已存在的 MySQL 表中dbWriteTable方法 我过去使用它没有问题 但现在失败了 因为表已经存在 这是尽管使用overwrite FALSE append TRUE 代码 full sum ta
  • 日食 | Packge 变成一个目录,破坏了我的整个项目

    所以我遇到的问题非常奇怪 当我设置了一个预先存在的项目 并将其从计算机 A 移动到计算机 B 时 我创建一个新项目并以正常方式导入它 它非常非常基于包 大约有 30 40 个包 将两个包制作成目录而不是包 例如 它不是 org projec
  • 为什么构造函数不能被显式调用,而析构函数却可以?

    在下面的 C 代码中 我可以显式调用析构函数 但不能显式调用构造函数 这是为什么 不会是明确的 ctor 调用更多富有表现力的 and unified与 dtor 案有关吗 class X int main X x X operator n
  • Key存在时出现KeyError

    使用 python 和 twitter api 获取 tweet 对象 我有一个包含推文的文件 tweetfile 我的计算机上的 txt 文件 我试图循环遍历对象以获取文本 我使用 tweetObj keys 检查了 twitter 对象
  • 使用nodemailer发送电子邮件

    我正在尝试使用 nodemailer 从我的应用程序发送电子邮件 我的设置如下 var nodemailer require nodemailer var smtpTransport require nodemailer smtp tran
  • 无法通过 ADB 连接到我的 Android 设备

    抱歉问了这个菜鸟问题 我在使用网络解决这个问题时遇到了麻烦 我试图通过 adb 将我的设备连接到我的电脑来调试我的应用程序 我的设备已植根 Adb 调试已启用 我下载了一个 adb 运行应用程序并启动了 ADB 现在我正在尝试 adb co
  • sched_getcpu() 相当于 OS X 吗?

    在 OS X 上 有没有办法找出线程正在哪个 CPU 上运行 Linux 的等效函数是调度获取CPU http man7 org linux man pages man3 sched getcpu 3 html 获取当前处理器编号 http
  • 缓冲输入如何工作

    下一个程序中的输入 使用 DOS BufferedInput 函数 0Ah 工作正常 但是当我要求显示输出时 DOS 根本不显示任何内容 这怎么可能 ORG 256 mov dx msg1 mov ah 09h DOS WriteStrin
  • zsh:权限被拒绝:gam

    我在安装了 Oh My ZSH 的 macOS 10 12 上使用 ZSH 我最近安装了GAM https github com jay0lee GAM在我的计算机上使用提供的安装脚本bash lt curl s S L https git
  • glVertexAttribPointer 引发不可能的 GL_INVALID_OPERATION?

    我已将错误范围缩小到此 OpenGL 调用 glVertexAttribPointer var vertex 4 GL FLOAT GL FALSE 0 0 前面没有错误 并且有一个GL INVALID OPERATION之后出现错误 我的
  • CSS如何正确使用em代替像素?

    我想尝试将我的设计从像素转换为 em 我已经阅读了很多教程 我将把它留在那里 以此为基础开始 body font size 62 5 line height 1 4 现在这就是我迷路的地方 我应该定义我的font size像这样 div w
  • 使用 iframe 时更改地址栏

    有没有一种方法可以使用 iframe 但在单击 iframe 内的内容时仍然可以将地址栏更改为页面的实际内容 我想在页面顶部有一个带有音乐播放器的水平栏 允许在浏览网站时播放音乐 但我也希望人们能够轻松地为这些页面添加书签 我已经搜索过 但
  • Visual Studio 2013远程调试,自动部署?

    当我尝试使用 Windows 应用商店应用程序 Metro 应用程序 进行远程调试时 非常简单 在 开始 下拉列表中 我可以选择一台远程计算机 然后VS构建项目并自动将可执行文件部署到远程计算机并运行它 感觉就像是本地调试一样 现在我想尝试
  • 为什么没有 lubridate:::update 函数?

    正如标题所说 为什么没有这个功能呢 或者以不同的方式 函数的类型是什么 当我打字时 update我从那里得到一些东西stats包 但有一个 lubridate 函数 如上所述第 7 页 似乎还有一个lubridate update Date
  • 拯救 ActionController::UnknownFormat 免于引发异常

    我正在努力做到这一点ActionController UnknownFormat不会在生产中引发异常报告 我正在使用 Rails 4 并认为这样的东西可以解决问题 但它似乎没有什么区别 应用程序 rb config action dispa
  • Codeigniter 无法使用 join 方法从数据库表中删除行

    我想从 table1 中删除 user id 5 的那些行 但我应该检查这些帖子是否 table2 中的 title title1 我使用 Codeigniter 在尝试删除时收到此错误 除非包含 where 或 like 子句 否则不允许