这背后的目的是让我能够从通过另外两个表的INNER JOIN形成的表中提取数据。
我已成功将关税名称映射到用户名。但我想要做的是能够从这个通过INNER JOIN在android studio的文本字段中创建的新表中返回数据。
我目前主要担心的是找出能够返回数据的正确查询。我试过研究这个,但没有运气/ 我有2个数据库。 useraccount 数据库和关税数据库。
useraccount数据库由以下列组成:
ID
名称
姓
EmailAddress的
邮编
市
******中国
名
密码
确认密码
关税
我的关税数据库包含以下列:
ID 名称
我已经使用INNER JOIN加入了这两个表,并将用户名列与关税名称列相关联,基本上,我最终得到了这样一个表:
用户名|关税
以下是代码:
$query = "SELECT useraccount.Username, tariff.Name as tariffs
FROM useraccount
INNER JOIN tariff ON useraccount.tariffs = tariff.id";
$result = mysqli_query($conn,$query);
if($result->num_rows){
while($row = $result ->fetch_object()){
echo "{$row->Username} ({$row->tariffs}) <br>";
}
}else{
echo "No results";
}
$query2 = "SELECT";
$result2 = mysqli_query($conn,$query2);
问题:
如何访问结果集的列?
This image shows the result of the execution of the PHP file
答案 0 :(得分:1)
将两个表连接在一起不会创建第三个表,但会从两个表的组合记录中创建结果集。在您的代码示例中,您已经可以访问useraccounts和关税表中包含的所有数据。要访问此数据,只需修改select语句,使其引用所需的列。您也可以使用&#39; *&#39;通配符以包含结果集中的所有列。
// Using a wildcard to get all useraccount data.
$query = "SELECT useraccount.*, tariff.Name as tariffs
FROM useraccount
INNER JOIN tariff ON useraccount.tariffs = tariff.id";
$result = mysqli_query($conn,$query);
if($result->num_rows){
while($row = $result ->fetch_object()){
// Reference any user data you want.
echo "{$row->Username} {$row->EmailAddress} {$row->PostCode} ({$row->tariffs}) <br>";
}
}
答案 1 :(得分:-1)
您需要加入关税ID上的用户帐户ID:
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT useraccount.Username, tariff.Name FROM useraccount INNER JOIN tariff ON useraccount.id = tariff.id";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Username: " . $row["username"]. " - Tarrif: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
$conn->close();