php - 通过关联数组的值更新 mysql

标签 php mysql

我有一个看起来像的数据库

COUNTRY RATES   
AUD     0.5
BRL     1.2
CAD     1.6
CHF     1.4
CZK     2.5

现在我想用这个数组更新汇率

$rates = array (
    'AUD' => '0.5',
    'BRL' => '6.2',
    'CAD' => '2.6',
    'CHF' => '7.4',
    'CZK' => '1.5',
 );

我试过使用这段代码

$servername = "localhost";
$username = "root";
$password = "";
$dbname = "eurotoforgein";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$table = 'rates';


$values = "'" . implode("','", array_values($rates)) . "'";

$sql = "UPDATE `eurotoforgein` SET 'RATES' WHERE rates =  $values";



if(!$result = $conn->query($sql)){ 

die('There was an error running the query [' . $conn->error . ']'); 

}

else{
echo "Data Updated.";
}

但是我明白了 运行查询时出错 [您的 SQL 语法有误;检查与您的 MariaDB 服务器版本对应的手册,了解在第 1 行的“RATES”附近使用的正确语法,其中 rates =“0.5”、“1.2”、“1.6”、“1.4”、“2.5”]

欢迎任何帮助

最佳答案

这是我的解决方案:

$sql = '';
$rates = array (
    'AUD' => '0.5',
    'BRL' => '6.2',
    'CAD' => '2.6',
    'CHF' => '7.4',
    'CZK' => '1.5',
 );
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "eurotoforgein";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

foreach($rates as $iso=>$rate){
$sql .= "UPDATE `eurotoforgein` SET `RATES`='{$rate}' WHERE COUNTRY = '{$iso}'";
}

if(!$result = $conn->query($sql)){ 

die('There was an error running the query [' . $conn->error . ']'); 

}else{
echo "Data Updated.";
}

关于php - 通过关联数组的值更新 mysql,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37424035/

相关文章:

sql - MySQL 语句帮助

php - 在多个表中搜索并在所有表中应用条件

java - 无法将java ee spring项目连接到mysql

php - 使用 PHP Mcrypt 加密并使用 MySQL aes_decrypt 解密?

php - 具有可选值的 PDO 更新

php - 将接收到的数据拆分到单独的字段中

php - 在mysql中插入序列化数组

Mysql LEFT JOIN -> 获取最新主题id/主题标题

php - 如何将sqlite同步到远程mysql?

php - CI - 帮助插入多个选择表单,每个表单都有多个选择的选项