【发布时间】:2020-02-10 15:33:42
【问题描述】:
我有一个表,每个表,我想从我的数据库中的同一个表中选择一个数据。
例如,第一个 td> 是名字,然后第二个 td> 是电话号码。
我得到了命令,但只有第一个命令显示输出。
这是我的 php 代码来打开并连接到数据库:
<?php
include("./inc/db_connect.php");
$conn = OpenCon();
?>
这是表格的php代码,包括th>和td>:
<div class="layer55">
<h3>
<table class="flat-table">
<tbody>
<tr>
<th>
<?php
$sql = "SELECT * FROM sharp_emp WHERE employee_id = 'AA170336'";
if ($result = $conn->query($sql)) {
if ($result->num_rows > 0) {
echo "Name";
}
}
?>
</th>
<th>
<?php
$sql = "SELECT * FROM sharp_emp WHERE employee_id = 'AA170336'";
if ($result = $conn->query($sql)) {
if ($result->num_rows > 0) {
echo "Phone Number";
}
}
?>
</th>
</tr>
<tr>
<td>
<?php
$sql = "SELECT first_name FROM sharp_emp WHERE employee_id = 'AA170336'";
while ($row = $result->fetch_array()) {
echo "" . $row['first_name'] . "";
}
?>
</td>
<td>
<?php
$sql = "SELECT phone FROM sharp_emp WHERE employee_id = 'AA170336'";
while ($row = $result->fetch_array()) {
echo "" . $row['phone'] . "";
}
?>
</td>
</tr>
</tbody>
</table>
</h3>
</div>
这是 db_connect.php 的 php 代码:
<?php
function OpenCon()
{
$dbhost = "localhost";
$dbuser = // Hidden;
$dbpass = // Hidden;
$db = "sharp_db";
$conn = new mysqli($dbhost, $dbuser, $dbpass,$db) or die("Connect failed: %s\n". $conn -> error);
return $conn;
}
function CloseCon($conn)
{
$conn -> close();
}
?>
预期输出:
|----------|----------|
|Name |Phone Number|
|----------|----------|
|John |179898765 |
当前输出:
|----------|----------|
|Name |Phone Number|
|----------|----------|
|John |Null (empty) |
【问题讨论】:
-
您在两个
->query()调用中重复使用变量$result。所以第二个破坏了第一个创建的结果集:) -
为什么要运行相同的查询 4 次?
-
所以我必须区分那些
$result?也许$result1,$result2,$result3,$result4@RiggsFolly @user3783243 -
顺便说一句,我说的是
标签,而不是 标签。那些 标签是成功的,但 标签不是。尽管使用相同的命令,“姓名”和“电话号码”仍然显示,但“姓名”仅显示“约翰”,“电话号码”为空,为什么?
标签: php html mysql database command