php - 如何在准备好的语句中强制将 int 作为字符串
问题描述
我正在使用 PHP 脚本同步两个 PostgreSQL 数据库。我无法查询整个表,所以我必须使用 id 列来批量抓取记录。
id 列是字符串列,而不是数字。但是,列中有数字 ID。这是我遇到问题的地方。
当我在 PHP 中准备 SQL 语句时,当我碰巧得到一个数字 id 时,当我将它绑定到语句时,它不会在值周围加上引号,因为它认为它是一个 int,而不是一个字符串。
我如何强制它成为一个字符串并始终在 id 周围加上单引号?
如果我把引号放在 ? 在查询中,它将其视为文本,并且参数不会绑定到语句。
正如您在代码中看到的那样,我还尝试将 $start 变量转换为字符串。$start 包含起始 id。
这是代码:
$sql = "select id from properties where id > ? order by id limit ?";
$params = [(string) $start, 50000];
$rows = $this->wolfnet->select($sql, $params);
解决方案
推荐阅读
- xamarin - Ninject StandardKernel System.ArgumentNullException:值不能为空。参数名称:path1
- r - 在 rstudio 中绘制英国区域
- lambda - 使用 lambda 简化 Kotlin 函数
- javascript - 获取 newsapi 数据
- python - 导入时间时 Tkinter 窗口未打开
- algorithm - 用例子解释 bpe(字节对编码)?
- sql - Oracle 数据字典最佳实践和指南
- python-3.x - 在类而不是对象上调用方法
- python - 使用 Python 从文件内容编写 splunk 查询
- python - 使用正则表达式有效地将一列中的部分值替换为熊猫中另一列的值?