我正在尝试显示一个表并继续出错。那些有更好编码技能的人可以帮助我吗?
以下是代码:
<?php
// connect to the database
$host = "###";
$username = '###';
$pass = '###';
mysql_connect($host,$username,$pass) or die(mysql_error());
mysql_select_db("Employees") or die(mysql_error());
// select everything from the table
$query = "SELECT * FROM Employees";
$result = mysql_query($query') or die(mysql_error());
echo "<table>";
echo "<tr>";
while( ($row = mysql_fetch_array($result)))
{
echo "<td>".$row['employeeid']."</td>";
echo "<td>".$row['firstname']."</td>";
echo "<td>".$row['lastname']."</td>";
echo "<td>".$row['department']."</td>";
}
echo "</tr>";
echo "</table>";
// disconnect from the database
mysql_close();
&GT;
页面运行时会产生以下错误:
解析错误:语法错误,第36行/home/content/35/4683335/html/crosshill/display.php中的意外T_CONSTANT_ENCAPSED_STRING
第34行是:echo "<td>".$row['employeeid']."</td>";
答案 0 :(得分:1)
我建议你需要检查3分:
您可以在开发环境中使用or die(mysql_error())
来检查是否有错误(与sql函数相关)。
连接
mysql_connect($host,$username,$pass) or die(mysql_error());
选择db
mysql_select_db("Employees") or die(mysql_error());
查询(我看到你的查询是正确的,但可能你的表名错了,记住名字是区分大小写的)
$result = mysql_query($query) or die(mysql_error());
答案 1 :(得分:0)
我注意到你的数据库和你的表一样被称为Employees
,这是一个错误还是两个都是同一个名字?
此处也有语法错误:
$query = "SELECT * FROM Employees";
$result = mysql_query($query') or die(mysql_error());
删除'
所以它是这样的:
$result = mysql_query($query) or die(mysql_error());
试试这个:
$query = "SELECT * FROM Employees";
$result = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($result)< 1){
echo 'no rows founds';
} else {
echo "<table>";
echo "<tr>";
while( ($row = mysql_fetch_assoc($result)))
{
echo "<td>".$row['employeeid']."</td>";
echo "<td>".$row['firstname']."</td>";
echo "<td>".$row['lastname']."</td>";
echo "<td>".$row['department']."</td>";
}
echo "</tr>";
echo "</table>";
}
旁注:
根据其他人的建议,您应该切换到mysqli_*
或pdo
。