gpt4 book ai didi

php - 使用 PHP 更新 MySql 中的多行

转载 作者:行者123 更新时间:2023-12-01 00:11:58 25 4
gpt4 key购买 nike

我有这个脚本可以读取已解析的 xml(外部):

<?php
//mysql connection
$con2 = mysql_connect("localhost","username","password");
if (!$con2)
{
die('Could not connect: ' . mysql_error());
}

$selectdb = mysql_select_db("test_db", $con2);
if (!$selectdb)
{
die('Database not used: ; ' . mysql_error());
}

//simplexml load xml file
$jackpots = simplexml_load_file('https://www.123.com/xmldata.xml');

//loop through parsed xmlfeed and print output
foreach ($jackpots->jackpot as $jackpot) {

foreach ($jackpots->jackpot as $jackpot) {
printf("gameId: %s\n", $jackpot->gameId);
printf("gameName: %s\n", $jackpot->gameName);
printf("amount: %s\n", $jackpot->amount);
printf("currency: %s\n", $jackpot->currency);
//insert into databse
foreach ($jackpots->gameId as $jackpot) {
mysql_query("UPDATE my_table SET amount=$jackpot->amount")
or die(mysql_error());}
//show updated records
printf ("Records inserted: %d\n", mysql_affected_rows());
}
}
//close connection
mysql_close($con2);

?>

显然,我在数据库中有一个表 (my_table),其中包含所有列(游戏 ID、游戏名称、金额和货币)。

我需要更新每个“gameId”列的“数量”列。当我运行下面的脚本时,我得到了一个更新,但所有的“数量”都是一样的。我可以得到一些支持吗?我的错误在哪里?

提前致谢!

最佳答案

您必须在查询中包含 gameId!

像这样:

mysql_query("UPDATE my_table SET amount=$jackpot->amount WHERE gameId = '".$jackpot->gameId."'")

但是,当您像这样将硬编码的变量插入到查询中时要小心。您应该先转义变量以避免 SQL 注入(inject)漏洞。研究 Code Igniter、Zend 或 Laravel 等 PHP 框架,以便在这些任务中设置一些基本功能可能会很好。

关于php - 使用 PHP 更新 MySql 中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14362368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com