gpt4 book ai didi

PHP - 执行我的 sql 查询时出现问题

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

当我尝试在 php 脚本中执行查询时遇到问题。

我需要用 'QI' 更新表中的所有列当列的值为 < 300 时并与 'Validated'> 300 .

实际上,查询正在运行,但似乎更新了几次。
能告诉我我的 php 脚本中做错了什么吗?

这是我的脚本:

<?php
//Get column names and do the update
$fields = mysqli_query($conn,'SHOW columns FROM '.$tablename.'AmpliconData');

//columns to exclude
$columns_to_exclude= array('Amplicon');

while ($row = mysqli_fetch_array($fields)) {
$columns[]=$row['Field'];

foreach ($columns as $ind=>$val) {
if (!in_array($val,$columns_to_exclude)) {
$sqlQI = 'UPDATE '.$tablename.'AmpliconData SET '.$row['Field'].'="QI" WHERE '.$row['Field'].'<300;';

echo $sqlQI.'<br/>';

mysqli_query($conn,$sqlQI);

$sqlVal='UPDATE '.$tablename.'AmpliconData SET '.$row['Field'].'="Validated" WHERE '.$row['Field'].'>300;';

echo $sqlVal.'<br/>';

mysqli_query($conn,$sqlVal);
}
}
}
?>

最佳答案

我设法解决了我的问题。将查询放在循环之外就是解决方案。

这是我的做法:

$fields = mysqli_query($conn,'SHOW columns FROM '.$tablename.'AmpliconData');

//columns to exclude
$columns_to_exclude= array('Amplicon');


while($row = mysqli_fetch_array($fields))
{
$columns[]=$row['Field'];}
foreach($columns as $ind=>$val){

if(!in_array($val,$columns_to_exclude))
{
//$sqlAlterInt2Varchar='ALTER TABLE '.$tablename.'AmpliconData CHANGE '.$row['Field'].' '.$row['Field'].' VARCHAR(50) NULL DEFAULT NULL';
//mysqli_query($conn,$sqlAlterInt2Varchar);
$sqlQI='UPDATE '.$tablename.'AmpliconData SET '.$val.'="QI" WHERE '.$val.'<300;';
//echo $sqlQI.'<br/>';
mysqli_query($conn,$sqlQI);

$sqlVal='UPDATE '.$tablename.'AmpliconData SET '.$val.'="Validated" WHERE '.$val.'>300;';
echo $sqlVal.'<br/>';
mysqli_query($conn,$sqlVal);
}}

关于PHP - 执行我的 sql 查询时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35433398/

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