两个数字与零填充之间的精确比较


Exact comparison between two numbers with ZEROFILL

我有一个PHP脚本,我想在其中比较两个数字。

$usernumber = $_POST['usernumber'];
$sql = "SELECT password, isadmin, disabled FROM user WHERE usernumber = " . $usernumber .";";

一切正常,但或多或少存在一个外观问题。

用户编号将保存为带有 ZEROFILLDECIMAL(5,0)。如果我100001进行比较,这是真的!

但是,是否也可以将这两者与SQL命令进行比较,因此只有在它们确实相同(例如0000100001)时才是正确的?

此外,我没有可能将其另存为其他数据类型,因为我使用其他需要数字的函数。

你应该尝试在二进制模式下比较它

在 MySQL 中

http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html

在 PHP 中

http://php.net/manual/en/function.strcmp.php