Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php检索mysql中两个不同表列字段的总和_Php_Mysql_Sql - Fatal编程技术网

使用php检索mysql中两个不同表列字段的总和

使用php检索mysql中两个不同表列字段的总和,php,mysql,sql,Php,Mysql,Sql,嘿,伙计们,我被这个问题难住了 我有两个不同的表,它们具有相同的列名,但具有主键id的值不同 表1:q1 表2:q2 现在我想要的是对两个不同表的值求和,这两个表具有相同的字段名,但ID不同 例如,我希望添加id=4的表q1的置信域值,即1,以及id=1的表q2的置信域值,即3 我尝试使用union,但没有得到结果 $mresult=mysqli_query($con,"select sum(sm) from (select confidence sm from q1 where id='$

嘿,伙计们,我被这个问题难住了

我有两个不同的表,它们具有相同的列名,但具有主键id的值不同

表1:q1

表2:q2

现在我想要的是对两个不同表的值求和,这两个表具有相同的字段名,但ID不同

例如,我希望添加id=4的表q1的置信域值,即1,以及id=1的表q2的置信域值,即3

我尝试使用union,但没有得到结果

$mresult=mysqli_query($con,"select sum(sm) from 

(select confidence sm from q1 where id='$id' 

union 

select confidence sm from q2 where id='$id') ss");

while ($row1 = mysqli_fetch_assoc($mresult)){
echo "Sum ". $row1['ss'];
}
我收到了警告

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, object given in .... on line 89

请帮我解答

要完成您所要查找的内容,您需要的查询是

SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence`
FROM `q1`, `q2`
WHERE `q1`.`id` = 4
AND `q2`.`id` = 1
您可以将其插入PHP并在适当的地方替换变量

$mresult=mysqli_query($con,"SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence` FROM `q1`, `q2`WHERE `q1`.`id` = '{$q1id}' AND `q2`.`id` = '{$q2id}'");

while ($row1 = mysqli_fetch_assoc($mresult)){
    echo "Sum ". $row1['TotalConfidence'];
}

您正在混合mysqli和mysqlPlease。它们不再得到维护,而是在使用。看到了吗?而是学习,并使用或。将帮助您决定哪一个。Kamehameha即使在纠正之后我也没有得到任何结果Jay Blanchard现在我使用mysqli但仍然没有得到任何结果。不,现在我没有得到任何警告Jay Blanchard它在mysql中正常工作,但不与php一起工作。我认为phpAre中的
q1
id
='$q1id'和
q2
id
='$q2id'存在一些问题。您是否正确设置了这两个变量?检查我的更新以了解另一个语法更改。您是否有任何错误?是的,第一次我尝试了q1.id='$q1id'和q2.id='$q2id'我没有得到任何输出第二次我尝试了q1.id='$id'和q2.id='$id'我没有得到任何输出第三次我尝试了q1.id='{$q1id}'和q2.id='{$q2id}'我没有得到任何输出,我尝试了q1.id='$q1.id'和q2.id='$q2.id'我得到了输出,因为2您没有向我们展示如何设置要在查询中使用的id变量。你能更新你原来的帖子吗?问题解决了这是我的错误,我用$a1和$a2传递值。所以它是q1.id='$a1'和q2.id='$a2'输出3,这是正确的。谢谢
SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence`
FROM `q1`, `q2`
WHERE `q1`.`id` = 4
AND `q2`.`id` = 1
$mresult=mysqli_query($con,"SELECT `q1`.`confidence` + `q2`.`confidence` AS `TotalConfidence` FROM `q1`, `q2`WHERE `q1`.`id` = '{$q1id}' AND `q2`.`id` = '{$q2id}'");

while ($row1 = mysqli_fetch_assoc($mresult)){
    echo "Sum ". $row1['TotalConfidence'];
}