MySQL C API:已准备语句中的变量参数编号

MySQL C API:已准备语句中的变量参数编号,mysql,c,database,prepared-statement,Mysql,C,Database,Prepared Statement,我正在使用C API库,并将所有查询作为准备好的语句来实现。我想知道准备好的语句是否可能有一些参数“未使用”。我有一个疑问: SELECT id FROM events WHERE name LIKE ? AND place LIKE ? AND lat < ? AND lng < ? 从名称类似的事件中选择id?那个地方怎么样?和lat?和液化天然气? 我并不总是使用所有的搜索条件,有时我只想按姓名搜索,有时只按姓名和地点搜索,有时只按纬度和姓名等。 我怎样才能用一条语句做到这

我正在使用C API库,并将所有查询作为准备好的语句来实现。我想知道准备好的语句是否可能有一些参数“未使用”。我有一个疑问:

SELECT id FROM events WHERE name LIKE ? AND place LIKE ? AND lat < ? AND lng < ?

从名称类似的事件中选择id?那个地方怎么样?和lat?和液化天然气?
我并不总是使用所有的搜索条件,有时我只想按姓名搜索,有时只按姓名和地点搜索,有时只按纬度和姓名等。
我怎样才能用一条语句做到这一点?

使用单独的预处理语句并让C代码中的逻辑选择使用哪一条语句会有什么错?我应该为每一种可能的组合准备一条语句?真正的查询比这个查询长。您将有多少个组合?从名称类似的事件中选择id?那个地方怎么样?和lat?和液化天然气?和fromDate>?今天怎么样?价格>?托普里斯呢?谁知道将来是什么阻止您在运行时根据需要动态构建语句字符串呢?推荐阅读: