I am trying to get a simple HTML table of the data in a table of my mysql database, but it is just showing up as a jumbled mess of the text and code in a paragraph on the page. Any ideas what may be causing this? Below is the code I am running:
<html lang="en"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
Title
</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- Bootstrap -->
<link href="./swipe_da_code_files/bootstrap.min.css" rel="stylesheet">
<link rel="icon" type="image/ico" href="http://lndapp.wpi.edu/img/favicon.ico">
<style type="text/css">
body {
padding-top: 60px;
padding-bottom: 40px;
}
</style>
</head>
<body>
<nav class="navbar navbar-inverse navbar-fixed-top">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="http://url:Port">AdminPortal</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="default.htm">Home</a></li>
<li><a href="CreateUser.html">Create User</a></li>
<li><a href="Database.html">Database</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<h1>Database Landing Page</h1>
</div>
<?php
$server = mysql_connect("server", "user", "password");
$db = mysql_select_db("database", $server);
$query = mysql_query("SELECT * FROM Table");
?>
<table>
<tr>
<td>username</td>
<td>password</td>
<td>physicianID</td>
</tr>
<?php
while ($row = mysql_fetch_array($query)) {
echo "<tr>";
echo "<td>".$row[username]."</td>";
echo "<td>".$row[password]."</td>";
echo "<td>".$row[physicianID]."</td>";
echo "</tr>";
}
?>
</table>
</body></html>
I have tried a variety of different ways to display the data, this was the most simple form I could think of to just display a few rows in table form, however it is not running. I have double checked my connection details I entered, as well as the query for the database, and am certain that is not what's causing it.
Replace
echo "<td>".$row[username]."</td>";
echo "<td>".$row[password]."</td>";
echo "<td>".$row[physicianID]."</td>";
By
echo "<td>".$row['username']."</td>";
echo "<td>".$row['password']."</td>";
echo "<td>".$row['physicianID']."</td>";
You are missing quotes!
Please use mysqli or PDO since mysl method is now deprecated.
<?php
$server=mysqli_connect("server", "user", "password" , "my_db");
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($server, "SELECT * FROM Table")
?>
then
<?php
while ($row = mysqli_fetch_array($result))
{
echo "<tr>";
echo "<td>".$row['username']."</td>";
echo "<td>".$row['password']."</td>";
echo "<td>".$row['physicianID']."</td>";
echo "</tr>";
}
?>
Akintunde007 is correct in his/her answer that you are parsing a constant.