You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SQLite3中搜索列名?实现列名与变量的对比

解决SQLite3列名与变量对比的问题

我懂你的困扰!你已经能通过PRAGMA table_info拿到表的列名,但不知道怎么把这些列名和自己的变量做对比对吧?其实很简单,咱们先把所有列名存到一个数组里,之后用数组检查函数就能轻松判断啦。

下面是修改后的完整代码示例:

$bd = new SQLite3('my_datebase.db');
// 获取表的列信息
$stmt = $bd->query("PRAGMA table_info(tblLecturacion);");
// 初始化空数组存储所有列名
$columnNames = [];

// 循环遍历结果,把每个列名存入数组
while ($row = $stmt->fetchArray(SQLITE3_ASSOC)) {
    $columnNames[] = $row['name'];
}

// 假设这是你要对比的目标变量
$targetColumn = "你的目标列名变量";

// 用in_array判断变量是否在列名数组中
if (in_array($targetColumn, $columnNames)) {
    echo "找到列:{$targetColumn}";
} else {
    echo "未找到列:{$targetColumn}";
}

关键细节说明:

  • 换成普通while循环遍历结果更稳妥,能避免do-while可能出现的第一条数据漏处理问题
  • 如果需要严格区分大小写匹配,可以给in_array()添加第三个参数true,写成in_array($targetColumn, $columnNames, true)
  • 存好列名数组后,后续不管要对比多少个变量,直接复用这个数组就行,不用重复查询数据库

这样你就能轻松完成列名和变量的对比啦!

内容的提问来源于stack exchange,提问作者Alv Raf Alc Mir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:33:18