我有一个带浮点变量的mysql表。我想将它们传递给mongodb集合,但是当我这样做时,php将我的浮点变量转换为字符串。我试图使用此代码将变量类型设置为float,但它在每个字段中返回1:
foreach( $mytables as $table => $struct ) {
$sql = mysql_query("SELECT num_auto FROM XL_10331_EXPLOIT_251012 where flightid like '191622'") or die( mysql_error() );
$count = mysql_num_rows( $sql );
// If it has content insert all content
if( $count > 0 ) {
while($info = mysql_fetch_row($sql)) {
$int_info=intval($info);
$mosql[]=($int_info);
}
// Starts new collection on mongodb
$collection = $modb->floatdb;
$collection->insert(array('num_auto'=>$mosql));
我找不到我的错误,任何帮助都会非常感激! 谢谢!
答案 0 :(得分:2)
intval
将仅返回数字的整数部分(或字符串中的数字)。尝试将值转换为像
$float_value = (float) $sql_number;
答案 1 :(得分:2)
mysql_fetch_row
返回一个数组,而不是值。所以你必须使用:
$int_info = (float)$info[0];