我有这个我一直在努力的数据库,而我正试图将所有内容联系在一起并开始将数据库表中的信息集成到实际的网页中。我想要做的是查询数据库以寻找我想保存到PHP变量的特定答案,这样我就可以在整个网页上执行简单的<?php echo $variable; ?>
。但是,我似乎无法弄清楚如何做到这一点。
以下是我一直在尝试的样本。
SQL
$Name = "John Smith";
$Nickname = $db->query('SELECT `Nickname` FROM `Profiles` WHERE `Name` =' . $Name);
$country = $db->query('Select `Country` from `Profiles` Where `Name` =' . $Name);
PHP / HTML
<div>
<table>
<tr>
<th colspan ="2"><?php echo $Name; ?></th>
</tr>
<tr>
<td>Country</td><td><?php echo $country; ?></td>
</tr>
<tr>
<td>Nickname</td><td><?php echo $Nickname; ?></td>
</tr>
</table>
</div>
这并不是我一直在做的事情,我尝试将这些信息插入的表格要复杂得多,这就是为什么如果可能的话,我想避免使用返回MySQL查询的常规方法:
代码我想尽可能避免
<?php
while ($rows = $country->fetch()){
echo ['Country'];
}
?>
如果上述代码仍然是返回任何/所有查询结果的最简单方法,我只有一个问题:是否可以嵌套不同的 while ($rows = $variable->fetch())
<彼此之间的声明> 因为我的表中来自不同数据库表的信息有点分散在其中,并且有几个地方我需要嵌套WHILE语句。它会起作用吗?
修改:
所以我尝试了几个建议。首先,我更改了$ Name的SQL语法,以便它可以在SQL查询中使用。
`WHERE `Name` ="' . $Name . '"');`
所以现在它正在发挥作用。但是我已经尝试了其他2条建议,两者都破坏了我的代码(页面赢了并没有加载)。
此外,没有人回答我关于能够嵌套While()
语句的问题。
答案 0 :(得分:2)
使用list():http://php.net/list,使用以下示例:
$info = array('coffee', 'brown', 'caffeine');
// Listing all the variables
list($drink, $color, $power) = $info;
echo "$drink is $color and $power makes it special.\n";
您应该在查询中选择更多cols,而不是为每列选择单独的查询。
示例(未测试):
$result = $db->query('SELECT Nickname, Country FROM `Profiles` WHERE `Name` = "' . mysql_real_escape_string($Name) . '"');
$i = 0;
$nickNames = [];
$countries = [];
while ($row = $result->fetch())
{
list($nickNames[$i], $countries[$i]) = $row;
$i++;
}
echo 'The first nickname is: ' . $nickNames[0] . ' from this country: ' . $countries[0];
所以你可以使用分离的数组。
答案 1 :(得分:0)
我明白了!我能够将我的数据库查询的结果分配给变量,然后我可以随时通过一个简单的<?php echo $variable; ?>
调用这些变量。这就是我所做的。
SQL示例
$result = $db->query('Select `Name`, `Age`, `Color` from `People` ');
while ($rows = $result->fetch()){
$Name = $rows['Name'];
$Age = $rows['Age'];
$Color = $rows['Color'];
}
在网页
<p>
Hello, my name is <?php echo $Name; ?>.
I am <?php echo $Age; ?> years old and my favorite color is <?php echo $Color; ?>.
</p>