使用mysqli非预准备语句时如何保留SQL数据类型

时间:2018-03-07 04:26:38

标签: mysql

我想在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。无缓冲的查询

1 个答案:

答案 0 :(得分:1)

此后我找到了将数字列转换为MYSQLI_OPT_INT_AND_FLOAT_NATIVEint的选项mysqli float(布尔列变为int)。

我不确定这是否是php.net文档中提到的内容,或者是否有其他方法。

示例:

$conn->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);