我有2个表格,一个叫做公司(列:标题,财务,地址,电话...。),另一个叫投资(列:标题,预算...。)。
两个表示例中的title
值相同:两个表中都存储有Google Inc.作为标题。
我要做的就是将标题为关键字的数据从“投资”表显示到名为“公司资料”的页面。
companies-profile页面显示了基于我从另一个页面(显示所有公司)的ID中获得的数据。
我使用以下代码:
<?php
$var1 = "SELECT title
FROM companies
WHERE idcompanies='$ID'";
$result2 = mysqli_query($conn, "SELECT budget
FROM n4399
WHERE title='{$var1}'")
or die(mysqli_error($conn));
$row2 = mysqli_fetch_array($result2);
echo $row2['budget'];
?>
$ conn被声明并且数据库连接正常
我正在:
您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以在第1行的'2'“附近使用正确的语法
2是用户选择的ID 使用xamp
答案 0 :(得分:2)
您可以使用一个查询
SELECT budget
FROM companies
INNER JOIN n4399 ON companies.Title=n4399.title
WHERE companies.id = ?
并使用适当的准备好的语句并进行绑定
$stmt = $conn->prepare("SELECT budget
FROM companies
INNER JOIN n4399 ON companies.Title=n4399.title
WHERE companies.id = ?");
$stmt->bind_param("i", $ID);
$stmt->execute();
//
$result = $stmt->get_result();
while($row = $result->fetch_assoc()) {
echo $row['budget'];
}
答案 1 :(得分:0)
您正在尝试执行以下sql语句:
SELECT budget
FROM n4399
WHERE title='SELECT title
FROM companies
WHERE idcompanies='$ID''
以下两种之一:或者您首先执行firs句子(从公司中选择标题...)以获得公司的有效标题,或者可以将选择内容更改为:
SELECT budget
FROM n4399
WHERE title in (SELECT title
FROM companies
WHERE idcompanies='$ID')
以便该选择可以返回第二个选择中具有匹配标题的所有值。