gpt4 book ai didi

php - 使用 mysql fetch_object 从多个表中选择数据

转载 作者:行者123 更新时间:2023-11-30 21:57:39 25 4
gpt4 key购买 nike

我在 web 应用程序和使用关系数据库方面真的很新,我正在尝试使用它同时从 5 个表中制作一个 select 和一个 print我在 YouTube 视频中看到的方法,在第一个 select 中,我选择一个人并将他的所有数据存储在包括外键在内的变量中,之后我使用其他 4 个表选择数据存储在人的变量中的外键,最后我将所有数据打印在表格行上。

我知道这个方法是有效的我已经用它从一个表中完美地选择但是在这里尝试从多个表中选择不起作用,也许我应该在第一个选择中尝试使用 JOIN并从那里选择所有表格。在我运行此 php 脚本的地方,它返回此错误:

Undefined variable: db in C:\wamp64\www\sicu\paciente.php on line 71" and this " Fatal error: Call to a member function query() on null in C:\wamp64\www\sicu\paciente.php on line 71

    <?php
$sql = "SELECT * from `paciente` ORDER BY `ci_p`";
$result = $db-> query ($sql);

while ($row = $result ->fetch_object()) {



$ci_p = $row -> ci_p;
$primer_nombre =htmlentities ($row -> primer_nombre, ENT_QUOTES, "UTF-8");
$segundo_nombre = htmlentities ($row -> segundo_nombre, ENT_QUOTES, "UTF-8");
$primer_apellido = htmlentities ($row ->primer_apellido , ENT_QUOTES, "UTF-8");
$segundo_apellido = htmlentities ( $row -> segundo_apellido, ENT_QUOTES, "UTF-8");
$sexo = htmlentities ( $row -> sexo, ENT_QUOTES, "UTF-8");
$tipo_p = htmlentities ( $row -> tipo_p, ENT_QUOTES, "UTF-8");
$tipo_personal = htmlentities ( $row -> tipo_personal, ENT_QUOTES, "UTF-8");
$especialidad= htmlentities ( $row -> especialidad, ENT_QUOTES, "UTF-8");
$alergias = htmlentities ( $row -> alergias, ENT_QUOTES, "UTF-8");
$correo_id_correo = htmlentities ( $row -> correo_id_correo, ENT_QUOTES, "UTF-8");
$telefono_id_telefono = htmlentities ( $row -> telefono_id_telefono, ENT_QUOTES, "UTF-8");
$direccion_id_direccion = htmlentities ($row -> direccion_id_direccion , ENT_QUOTES, "UTF-8");
$fecha_id_fecha = htmlentities ($row -> fecha_id_fecha , ENT_QUOTES, "UTF-8");

$sql1 = "SELECT * from `direccion` where id_direccion = '$direccion_id_direccion')";
$result1 = $db-> query ($sql1);
while ($row1 = $result1 ->fetch_object()){
$estado =htmlentities ($row -> estado, ENT_QUOTES, "UTF-8");
$ciudad = htmlentities ($row -> ciudad, ENT_QUOTES, "UTF-8");
$municipio = htmlentities ($row ->municipio , ENT_QUOTES, "UTF-8");
$parroquia = htmlentities ( $row -> parroquia, ENT_QUOTES, "UTF-8");
$sector = htmlentities ( $row -> sector, ENT_QUOTES, "UTF-8");
$edificio = htmlentities ( $row -> edificio, ENT_QUOTES, "UTF-8");
$piso= htmlentities ( $row -> piso, ENT_QUOTES, "UTF-8");
$numero = $row -> numero;
$punto_ref = htmlentities ( $row -> punto_ref, ENT_QUOTES, "UTF-8");
$avenida = htmlentities ( $row -> fecha_ingre, ENT_QUOTES, "UTF-8");

}
$sql2 = "SELECT * from `correo_electronico` where id_correo = '$correo_id_correo')";
$result2 = $db-> query ($sql2);
while ($row2 = $result2 ->fetch_object()){
$direccion_correo =htmlentities ($row -> direccion_correo, ENT_QUOTES, "UTF-8");

}
$sq3 = "SELECT * from `telefono` where id_telefono = '$telefono_id_telefono')";
$result3 = $db-> query ($sql3);
while ($row3 = $result3 ->fetch_object()){
$numero_telefono = $row -> numero_telefono;

}
$sql5 = "SELECT * from `fecja_naci` where id_fecha_naci = '$fecha_id_fecha')";
$result5 = $db-> query ($sql5);
while ($row5 = $result5 ->fetch_object()){
$fecha =htmlentities ($row -> fecha, ENT_QUOTES, "UTF-8");

}
?>
<tbody><tr>
<td><?php echo $ci_p?></td>
<td><?php echo " $primer_nombre $segundo_nombre $primer_apellido $segundo_apellido "?></td>
<td><?php echo $sexo ?></td>
<td><?php echo $tipo_p ?></td>
<td><?php echo $tipo_personal?></td>
<td><?php echo $especialidad?></td>
<td><?php echo $alergias ?></td>
<td><?php echo $fecha?></td>
<td><?php echo $numero_telefono?></td>
<td><?php echo $direccion_correo?></td>
<td><?php echo "$estado $ciudad $municipio $parroquia $sector $edificio $piso $numero $punto_ref $avenida"?></td>
</tr></tbody>
<?php
}
?>

最佳答案

首先,制作一个文件connection.php

<?php

$db = new mysqli("Host name","User","DB Password","DB Name");

// ceck connection

if ($db->connect_error) {
die('Connection failed: '. $connect->connect_error);
}
?>

然后添加这段代码:

include "connection.php";

在你的 php 文件中。

我的建议是在mysql中使用inner join

关于php - 使用 mysql fetch_object 从多个表中选择数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44558889/

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