我正在通过preste_no从数据库中获取价格。我将通过Ajax发送给PHP:
var comps_gehaz = {};
comps_gehaz['articleNumbers'] = 38292783;
$.ajax({
type: "POST",
url: "php/gehaz.php",
data: {gehaz_json_data: JSON.stringify(comps_gehaz)},
dataType: "text",
success: function (msg, string, jpXHR) {
if(msg) {
$('#gehaz_priceTag').html(msg);
} else {
console.log('Something else went wrong.');
}
},
error: function(xhr, desc, err) {
console.log(xhr);
console.log("Details: " + desc + "nError:" + err);
}
});
MySQL中的表结构是:
..."价格" ->十进制(10,2)" ARTICLENO" -> BIGINT...
php:
$gehaz_json_data = $_POST['gehaz_json_data'];
$obj = json_decode($gehaz_json_data, true);
$articleNumber = $obj['articleNumber'];
$getMoney = "SELECT price FROM Articles WHERE articleNo = '$articleNumber'";
if (mysqli_query($db_link, $getMoney)) {
$result_price = mysqli_query($db_link, $getMoney);
while ($row = mysqli_fetch_array($result_price)) {
$list_price_notFormat = $row['price'];
}
echo $list_price_notFormat;
}
如果价格值为345.56,则显示正确。但是,如果它大于3036.47,它只会呼应第一个数字'3'。
我想我知道问题是什么。
使用JavaScript/node.js自动设置数据库中的值。我正在从Excel文件中读取值,并将其保存在我的MySQL桌上。在将它们放在数据类型"十进制10,2"的列中之前,我不得不从excel表中解析" 1.253,64'"的值,以便我可以替换'。通过" end",'。
我认为这就是为什么它仅读取第一个数字的原因。
我应该将数据类型从十进制更改为浮动,还是有更好的方法来节省MySQL?
弄清楚如何导出 number ,而不是excel的 string 。您正在绊倒"数千分离器"的"语言环境"问题。