我得到了一些神祕的bug ..在我的數據庫中,PHP中的硬編碼數字如何轉換爲另一個數字?奇怪
好吧,所以我在LocalHost工作與最新版本的MySQL。我使用CodeIgniter工作(2.0.2) 我想實現這樣的模型中的功能:
function saveMyFriends($friends_list){
$this->load->library('encrypt');
foreach($friends_list as $friend){
// echo $friend['id'].' : '.utf8_decode($friend['name']).'</br>';
$query_str ="INSERT INTO sc_friends (fb_id, fb_friends_id, fb_friends_name) VALUES (?, ?, ?)";
$fb_id =$this->session->userdata('user_fbid');
$this->db->query($query_str, array($fb_id, $friend['id'], sha1(utf8_decode($friend['name']))));
}
return TRUE;
}
這是應該在數據庫中保存我的Facebook好友列表,但它發生大約5%的結果具有相同的Fb_id ......這是不可能的。所以,我試圖手動輸入一些朋友,我只是改變enter code here
幾行字:
function saveMyTwoFriends(){
$this->load->library('encrypt');
$query_str ="INSERT INTO sc_friends (fb_id, fb_friends_id, fb_friends_name) VALUES (?, ?, ?)";
$this->db->query($query_str, array(7518777XX, 1000028691344XX, sha1(utf8_decode('XXX XXXX'))));
return TRUE;
}
(當然,X爲實數或真實姓名) 但再次,在我的數據庫,當我手動輸入第三個(我給你的例子)我有反覆出現的「相同的ID」:「2147483647」
這怎麼可能? 謝謝:)
PHP沒有int64? –
不是單獨的類型。在64位系統上,當PHP編譯爲64位二進制文件時,其整數類型爲64位,但在32位系統上,32位是從整數類型獲得的。 – StasM
好的,謝謝! 使用BigInt怎麼樣?使用BigInt時簽名問題是什麼? –