php - PDO/MySQL 以 e(指数)作为整数保存数字字符串

标签 php mysql pdo integer exponent

我正在尝试将以下字符串保存到数据库中:12E2。由于 E(指数)MySQL 将其保存为“1200”(12 × 102)。有什么办法可以避免这种情况吗?我正在尝试将其保存到数据库中的 VARCHAR 字段。

$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 />";

$updateValue=@$_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"];

最佳答案

奇怪,我无法复制它。您确定数据库中的字段类型是 varchar(x),其中 x 是字符串的最大所需长度吗?

或者,您确定您的绑定(bind)值在实际代码中被引号括起来了吗?

如果没有任何效果,我会试一试

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

关于php - PDO/MySQL 以 e(指数)作为整数保存数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19271961/

相关文章:

php - 如何在MYSQL中将mysqli_set_charset($conn ,"utf8")转换成PDO格式?

java - 从 PHP Web 服务解析 JSON 对象时出错

mysql - phpMyAdmin mySql mamp - 表无法打开

php - 将mysql数据导出到本地主机中的csv下载文件,但不在服务器中

php - 如何连接两个表然后选择两个不同的列?

php - 求助php解析错误

php - 在 javascript/HTML5 应用程序之外获取变量

javascript - 你如何防止输入类型=提交关闭模式?

php - 如何使用 PHP 记录到 Windows 事件日志?

由于 "double port"- 未捕获的 PDOException : SQLSTATE[HY000] [2002],PHP PDO 初始化失败