我使用它來創建在我的店裏每一件產品的唯一代碼,PHP從數據庫中返回float而不是字符串?
echo base_convert(uniqid(),16,10);
例如,
1403802682572650
我的查詢是簡單的像這樣,
$sql = "
SELECT *
FROM page AS p
LEFT JOIN stock AS o
ON o.id = p.page_id
WHERE p.type = ?
AND p.hide != ?
ORDER BY p.backdated_on
";
當我想獲得產品代碼,我這樣做,
var_dump($product->code);
但PHP返回float(1.4038026825726E+15)
代替1403802682572650
爲什麼PHP返回float
代替string
?我怎樣才能得到這個號碼?
或者,在從db表中請求結果之前,我應該在我的SQL查詢中將數字轉換/轉換爲字符串還是varchar?
編輯: 找到我的代碼中的錯誤。
我有一條線,JSON轉換成陣列,並且轉換成字符串轉換成浮動,例如,
echo json_decode("1403802682572650", true); // 1.4038026825726E+15
什麼是代碼表字段的數據類型? –
'varchar(255)\t utf8_general_ci'所以它應該是正確的? – laukok
該數字太大:php> echo 1403804750765990; // 1.403804750766E + 15 –