gpt4 book ai didi

php - 在 php 中处理数字输入失败

转载 作者:行者123 更新时间:2023-11-29 04:08:22 25 4
gpt4 key购买 nike

我有一个输入框,告诉我的用户将他们的 Google Plus 地址复制并粘贴到其中。这是输入框的代码:

<div class="row-fluid"><div class="span3 sidebar"><h4>Google Plus:</h4></div>
<div class="span9"><p> <input type="text" name="gplus" value="$data->googleplus" placeholder="Google Plus Profile URL">
</p></div></div><br/>

这是处理输入的 PHP 代码:

$gplus=preg_replace("/[^0-9]/", "", $_POST['gplus']);
mysql_query( "UPDATE contacts SET googleplus='$gplus' WHERE username='$user'" )
or die ( "Could not update GooglePlus" );

我只需要他们地址末尾的数字,因为其他人都一样。这就是问题所在。当用户最多输入 10 位数字时,它会很好地存储这些数字。当用户输入超过 10 位数字时,它会将此数字存储在数据库中:“2147483647”。总是相同的数字。任何字母都按应有的方式被剥离,但其中任何超过十位的数字都会导致该数字出现。

我在我的代码中搜索了“2147483647”,但其中没有任何一个!

最佳答案

http://dev.mysql.com/doc/refman/5.5/en/integer-types.html :

Type: INT
Maximum Value: 2147483647

您显然将值存储为整数,当数字太大时,您会发生溢出,并以最大值结束。

无论如何你都不应该将这些值存储为整数,因为它们不是数字——它们没有数字意义,它们只是一个标识符。请改用 (VAR)CHAR。

关于php - 在 php 中处理数字输入失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21246678/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com