我想在PHP中使用mysqli的非预处理语句并保留SQL数据类型。
this page on php.net上的比较表表明可以这样做:
结果集值SQL数据类型
准备好的声明:提取时保留
未准备好的声明:转换为字符串或在提取时保留
抓取是什么意思?
目前,在代码中,以下列值都是字符串。有没有办法在不使用预准备语句的情况下保留数据类型?
$conn = new mysqli('db_host', 'db_username', 'db_password', 'db_name');
$conn->set_charset('db_charset');
$result = $conn->query($sql, MYSQLI_USE_RESULT);
$row = $result->fetch_assoc();
NB。无缓冲的查询
答案 0 :(得分:1)
此后我找到了将数字列转换为MYSQLI_OPT_INT_AND_FLOAT_NATIVE
或int
的选项mysqli float
(布尔列变为int
)。
我不确定这是否是php.net文档中提到的内容,或者是否有其他方法。
示例:
$conn->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);