大佬教程收集整理的这篇文章主要介绍了Mysqli 更好的方法来更改与哪些列一起工作?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
所以我的代码需要有一个重量跟踪器,并且需要在一个数据点中保留至少 20 个重量。因为我不能用“?”动态改变它。该位置我有 20 个 if() else if 语句能够做同样的事情。只是想知道有没有更好的方法来做到这一点,还是这是唯一的方法?
代码开头:
{{1}}
不要这样存储数据。这只是自问问题。而是规范化您的架构并以关系方式存储数据。
如果您坚持当前的设计,您可以通过动态构建 SQL 来克服这个问题。请务必使用硬编码的值列表验证列名是否正确。
function addWeight(mysqli $conn,$LOCATIOn,$weight,$dt)
{
$columns = [
"Weight1" => 'timee1',"Weight2" => 'timee2',"Weight3" => 'timee3',"Weight4" => 'timee4',];
if (!isset($columns[$LOCATIOn])) {
throw new \RuntimeException("Invalid LOCATIOn");
}
$sql = "updatE userweight SET {$LOCATIOn}=? WHERE userId = ?;";
$sql2 = "updatE userweight SET {$columns[$LOCATIOn]}=? WHERE userId = ?;";
}
@H_801_17@
,
考虑使用两个表,并将位置更改为仅一个数字:
Table 1: userweight
userId | LOCATIOn_nr | weight |
1 | 1 | 60 |
1 | 8 | 93 |
Table 2: usertime
userId | LOCATIOn_nr | time |
1 | 1 | 2020-05-03 |
1 | 8 | 2020-09-18 |
@H_801_17@
现在根据 user_id 和位置,您可以使用以下查询:
updatE userweight SET weight = ? WHERE userId = ? and LOCATIOn_nr= ?
updatE usertime SET timee= ? WHERE userId = ? and LOCATIOn_nr= ?
@H_801_17@
以上是大佬教程为你收集整理的Mysqli 更好的方法来更改与哪些列一起工作?全部内容,希望文章能够帮你解决Mysqli 更好的方法来更改与哪些列一起工作?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。