我想在 PHP 中使用 mysqli 使用非准备语句并保留 SQL 数据类型。
结果集值 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();
Run Code Online (Sandbox Code Playgroud)
注意。无缓冲查询
从那以后,我找到了MYSQLI_OPT_INT_AND_FLOAT_NATIVE将数字列转换为intor float(布尔列变为int)的选项 mysqli 。
我不确定这是否是 php.net 文档中提到的内容,或者是否有其他方法。
例子:
$conn->options(MYSQLI_OPT_INT_AND_FLOAT_NATIVE, 1);
Run Code Online (Sandbox Code Playgroud)