0

こんにちは、SQL INSERT INTO の数値形式のサポートが必要です

{$data['rank']['points']} をnumber formatとして変換する必要があるため、5467389 として表示されるのではなく、54,673,89 に変換されます。データは API データからインポートされます。

これは私のコードです

$host="hostname"; // Host name
$username="database"; // Mysql username
$password="password"; // Mysql password
$db_name="dbname"; // Database name
$tbl_name="table"; // Table name

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");


// API Data
$url = "http://api.erpk.org/citizen/profile/3121752.json?key=Yn3AsG80";
$json = $json = file_get_contents($url);
$data = json_decode($json, true);

date_default_timezone_set('Europe/London');

// Insert data into mysql
$sql="INSERT INTO $tbl_name(citid, citname, rankpoints)VALUES('{$data['id']}', '{$data['name']}', '{$data['rank']['points']}')";
$result=mysql_query($sql);

// if successfully insert data into database, displays message "Successful".
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='supplies_insert.php'>Back to main page</a>";
}

else {
echo "ERROR";
}
4

2 に答える 2

1

これを試して:

$query = sprintf("INSERT INTO `%s` (citid, citname, rankpoints) VALUES ('%s', '%s', '%s')",
  mysql_real_escape_string($tbl_name),
  $data['id'],
  mysql_real_escape_string($data['name']}),
  mysql_real_escape_string(number_format($data['rank']['points'])));
$result = mysql_query($query);
于 2013-06-15T11:34:14.077 に答える
0

あなたの要件を正しく理解していれば、php の number_format() 関数を使用できます。それがあなたの望むものでないなら、私に知らせてください。

于 2013-06-15T11:30:58.983 に答える