如何在PHP字符串转换期间保持long int?

时间:2010-11-23 07:10:32

标签: php

以下PHP代码:

$someID = 124234454288758;
$queryStr => "SELECT a FROM b WHERE some_id = {$someID}";

转换为:

"SELECT a FROM b WHERE some_id = 1.2423445428876E+14"

如何将结果字符串设为:

"SELECT a FROM b WHERE some_id = 124234454288758"

谢谢!

3 个答案:

答案 0 :(得分:2)

试试这个:

number_format($someID, 0, '.', '');

参考:problems with big integers

答案 1 :(得分:1)

在处理非常大的数字时使用GMP(http://www.php.net/manual/en/book.gmp.php)或BCMath(http://www.php.net/manual/en/book.bc.php)。

答案 2 :(得分:1)

由于您没有使用数字进行任何数学运算(因为它只是一个唯一的键),为什么不将它存储为字符串。

$someID = "124234454288758";

此外,值得一提的是,像这样的SQL查询创建通常对SQL注入开放。您应该考虑使用PDO及其prepare功能。