【发布时间】:2013-08-25 23:05:46
【问题描述】:
假设我在 InnoDB 数据库中有两个表:categories 和 jokes;并且我正在使用 PHP/MySQLi 来完成这项工作。表格如下所示:
CATEGORIES
id (int, primary, auto_inc) | category_name (varchar[64])
============================================================
1 knock, knock
JOKES
id (int, primary, auto_inc) | category_id (int) | joke_text (varchar[255])
=============================================================================
empty
感谢previous 在这里的回答,我发现您可以执行以下操作来添加一个新笑话:$joke_text、$category_id。
INSERT INTO jokes (category_id, joke_text)
SELECT c.id, '$joke_text'
FROM categories AS c WHERE c.id = $category_id;
这使我能够在不使用外键的情况下确保 $category_id 值指的是现有类别(请忽略外键问题,因为我的问题旨在帮助我学习“复杂的”准备好的语句)。
所以效果很好。但是,我现在正在尝试学习准备好的陈述,在花了一整天的时间之后,我终于掌握了基础知识。不幸的是,我绝对不知道如何在 mysqli 下使用准备好的语句执行上述 SQL 查询,并且我无法在网上找到有关此类问题的任何信息。
如果有人可以帮助我,我将非常感激。
【问题讨论】:
标签: php mysql mysqli prepared-statement