gpt4 book ai didi

PHP 在插入到 mySQL 时将数组中的破折号替换为 0

转载 作者:行者123 更新时间:2023-11-29 10:21:09 27 4
gpt4 key购买 nike

我正在从 json URL 插入/更新 mysql 表,但 $points 中的某些值包含破折号,我想在更新时修改为零(或 null 也可以),以便我可以拥有列设置为 INT。

我知道如何简单地将 mysql 中的 all - 替换为 0,但在尝试从 json URL 进行更新时卡住了。我的代码是:

for ($i = 0; $i < $length; $i++) { 
$sus = $array['formguide'][$i]['SUSPENSION'];
$wpoints = $array['formguide'][$i]['WEEKPOINTS'];
$tcode = $array['formguide'][$i]['TEAMCODE'];
$val = $array['formguide'][$i]['VALUE'];
$points = $array['formguide'][$i]['POINTS'];
$pname = $array['formguide'][$i]['PLAYERNAME'];
$tname = $array['formguide'][$i]['TEAMNAME'];
$sixwpoints = $array['formguide'][$i]['SIXWEEKPOINTS'];
$injury = $array['formguide'][$i]['INJURY'];
$playerid = $array['formguide'][$i]['PLAYERID'];
$pos = $array['formguide'][$i]['POS'];

//insert or update values into mysql
$sql = "INSERT INTO formguide (suspension, weekpoints, teamcode,
value, points, playername, teamname,
sixweekpoints, injury, playerid, pos)
VALUES ('$sus', '$wpoints', '$tcode','$val','$points','$pname','$tname',
'$sixwpoints','$injury','$playerid','$pos')
ON DUPLICATE KEY UPDATE suspension='$sus', weekpoints='$wpoints',
teamcode='$tcode', value='$val', points='$points', playername='$pname',
teamname='$tname', sixweekpoints='$sixwpoints', injury='$injury',
playerid='$playerid', pos='$pos'";

我在 UPDATE() 部分中的点上尝试了 REPLACE(),即:

...points=REPLACE('$points','-','0'), playername='$pname', ...

但是这不起作用。

有什么想法可以做到这一点,或者是否有其他方法可以将点列设置为 INT 并接受破折号?谢谢

最佳答案

REPLACE 用于修改来自 SQL 的值,而您想要修改来自 PHP 的值。

改用str_replace

$points = str_replace('-', '0', $points); 

关于PHP 在插入到 mySQL 时将数组中的破折号替换为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49225412/

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