Php 添加包含来自同一数据库的两个不同表的值的两个变量

Php 添加包含来自同一数据库的两个不同表的值的两个变量,php,sql,Php,Sql,我们可以从同一数据库和同一数据类型的两个不同表中添加两个select sql查询。这两个查询是在满足where条件后从表中选择唯一单元格。现在我想总结一下这两个数据类型相同(即float类型)的查询。如何执行添加操作: 例如:$sql=1和$sqlNew=2。。。我想要$add=$sql+$sqlNew=3 $sql = "SELECT num1 FROM tech WHERE name1='dsf'"; //Selecting a particular cell from table tech

我们可以从同一数据库和同一数据类型的两个不同表中添加两个select sql查询。这两个查询是在满足where条件后从表中选择唯一单元格。现在我想总结一下这两个数据类型相同(即float类型)的查询。如何执行添加操作: 例如:$sql=1和$sqlNew=2。。。我想要$add=$sql+$sqlNew=3

$sql = "SELECT num1 FROM tech WHERE name1='dsf'"; //Selecting a particular cell from table tech
$sqlNew = "SELECT num2 FROM technew WHERE name2='asd'"; //Selecting a particular cell from table technew
$add = $sql + $sqlNew; // Can this operation be perfromed?
要添加两个不同表中的单元格,并将其保存在新变量中。 请让我知道如何进行上述操作。我是sql新手。 这是我的完整代码:

    <html>
<body>

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "sample";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$add="SELECT (tech.num1 + technew.num2) as total FROM tech, technew WHERE tech.name1 = 'def' AND technew.name2 = 'asd'"; 
$result = mysqli_query($conn, $add); 
$row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
echo $row['total']; 
$sql4 = "INSERT INTO finaladdition (id, finalAddTotal ) VALUES (NULL,'$row[total]')";
$conn->close();
?> 
</body>
</html>

您可以只执行一个连接(在示例中,隐含了内部连接)查询:

根据进一步的信息,您应该这样做:

$add="SELECT (tech.num1 + technew.num2) as total FROM tech, technew WHERE tech.name1 = 'def' AND technew.name2 = 'asd'"; 
$result = mysqli_query($conn, $add); 
$row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
echo $row['total']; 

$sql4 = "INSERT INTO finaladdition (id, finalAddTotal ) VALUES (NULL,$row['total')"; 

name1和name2在这些表中是唯一的吗?如果不是,那么每个查询都可能返回多行,您的问题将需要更多关于如何处理的解释。如果是这样,应该很简单。删除INSERT查询中
$row['total']
周围的单引号。这是一个不需要引号的数字。@JayBlanchard非常感谢您提供了宝贵的输入…现在,这段代码运行良好,没有错误,我能够将值存储在数据库中…感谢您分享您的知识…该方法是正确的,但我想声明这绝不是一个联接查询。它只是添加了2个值。@Niels隐含的连接是tech a的
,technew b
,它构成和内部连接。啊,是的,我的错,因为
$add
是数据库结果,您必须从中获取值。例如:
$row=mysqli\u fetch\u数组($add);echo$row['total']您是否执行了mysqi_查询($connection,$query)?您知道如何使用MySQLi进行查询吗?
$add="SELECT (tech.num1 + technew.num2) as total FROM tech, technew WHERE tech.name1 = 'def' AND technew.name2 = 'asd'"; 
$result = mysqli_query($conn, $add); 
$row = mysqli_fetch_array($result, MYSQLI_ASSOC); 
echo $row['total']; 

$sql4 = "INSERT INTO finaladdition (id, finalAddTotal ) VALUES (NULL,$row['total')";