我并不完全熟悉PHP,但我在回答MySQL查询函数中收集的值时遇到了一些问题。
我相信我知道问题出在哪里,但我没有足够的能力解决问题,如果你能帮助它,我们将不胜感激。
PHP功能(完美无缺)。
<?php
$dbhost = 'localhost';
$dbuser = 'user';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT Name, Role, Salary FROM `users-table`';
mysql_select_db('user_records');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "--------------------------------<br>",
"Name: {$row['Name']} <br> ".
"Role: {$row['Role']} <br> ".
"Salary : {$row['Salary']} <br> ".
"--------------------------------<br>";
}
mysql_close($conn);
?>
这完全显示数据!但是,我现在正试图将其包含在格式良好的HTML表格中。 (这就是我关闭上面的php标签的原因。)
然后我尝试使用这样的表:
<table >
<tr>
<td>
<?php echo $row['Name'] ?>
</td>
....
它没有输出, - 我认为这个问题是因为我关闭了第一个函数然后尝试引用$row
并且它不知道该怎么做...?
我想我需要点击while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
我如何重新考虑这个因素,以便将上述函数中的内容回显到我的表中?
答案 0 :(得分:0)
你没有写下你尝试过的代码,但这里有一些功能:
$link = mysqli_connect("myhost", "myuser", "mypassw", "mybd");
echo "<table>";
while ($row = mysqli_fetch_array($link, $retval, MYSQL_ASSOC)) {
echo "
<tr>
<td>{$row['Name']}</td>
<td>{$row['Role']}</td>
<td>{$row['Salary']}</td>
</tr>
";
}
echo "</table>";
PS:由于不推荐使用MySQL,我将代码替换为MySQLi
,我建议你这样做:)
答案 1 :(得分:0)
正如@zessx所说,你应该使用MySQLi或PDO。
无论如何要回答你的问题,你必须改变你的PHP代码中的循环
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "--------------------------------<br>",
"Name: {$row['Name']} <br> ".
"Role: {$row['Role']} <br> ".
"Salary : {$row['Salary']} <br> ".
"--------------------------------<br>";
}
到
echo '<table>';
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo " <tr>" .
" <td>Name: {$row['Name']}</td>".
" <td>Role: {$row['Role']}</td>".
" <td>Salary : {$row['Salary']}</td>".
" </tr>";
}
echo '</table>';