2013-10-09 22 views
3

我試圖將以下字符串保存到數據庫:12E2。由於E(指數)MySQL將它保存爲「1200」(12 )。有什麼辦法可以避免這種情況?我試圖將其保存到數據庫中的VARCHAR字段。e(指數)爲整數的PDO/MySQL保存號碼字符串

$q->bindValue(":field","12E2",PDO::PARAM_STR); 

編輯:我已經上傳a script它顯示的情況。該腳本使用以下代碼:

$fetchQuery=$db->prepare("SELECT `strLocatieNr` FROM `tblShopProducten` WHERE `intID`=254"); 
$fetchQuery->execute(); 
$fetchData=$fetchQuery->fetch(); 
echo "Old: ".$fetchData["strLocatieNr"]."<br />"; 

[email protected]$_GET["value"]; 
echo "Update value: "; 
var_dump($updateValue); 
echo "<br />"; 

$q=$db->prepare("UPDATE `tblShopProducten` SET `strLocatieNr`=:field WHERE `intID`=254"); 
$q->bindValue(":field",$updateValue,PDO::PARAM_STR); 
$q->execute(); 
echo "Rows affected: ".$q->rowCount()."<br />"; 

$fetchQuery->execute(); 
$fetchData=$fetchQuery->fetch(); 
echo "New: ".$fetchData["strLocatieNr"]; 
+1

什麼是在MySQL列類型? –

+1

這是一個VARCHAR。 – Jules

+2

我無法複製此代碼 –

回答

0

奇數,我無法重現它。你確定數據庫中的字段類型是varchar(x),其中x是字符串的最大期望長度嗎?

另外,你確定你的綁定值在實際代碼中被引號包圍嗎?

如果實在不行我給一出手就這個

$q->bindValue(":field",(string)"12E2",PDO::PARAM_STR);