我刚开始PHP开发。我正在尝试在我们的网络服务器上打印每日电话报告。连接成功建立,查询运行,并打印表,但由于某些原因我似乎无法获得,它连续两次打印每列的值。因此,电话代理John Smith打印为
约翰约翰史密斯史密斯表已格式化。它打印时不会出现错误 - 但是表格的宽度应该是它应该的两倍,因为每张都打印了两次。
另外,我知道mysqli和PDO比我在这里使用的命令更受欢迎。这是我的教科书提供示例的方式 - 当我对Web开发更加满意时,我会切换。现在,即使是简单的事情也会让我失望。
如果有人能够发现问题,我将不胜感激。
if (!($connection = mysql_connect($server,$userName,$password))) die("Could not connect");
mysql_select_db($databaseName, $connection);
$myQuery = "Select (a few fields here)
From
callreport inner join employees on callreport .`phonenum` = employees.extension
where
date= 20130807";
if(!($result = mysql_query($myQuery,$connection))) showerror();
while ($row = mysql_fetch_array($result)){
echo "<tr>";
foreach ($row as $attribute){
echo "<td>{$attribute}</td>";
}
echo "</tr>";
}
echo "
</table>
</body>
</html>";
答案 0 :(得分:4)
mysql_fetch_array()
以两种方式从表中返回一行 - 作为数字和关联索引数组:
$row['name']='John';
$row[0]='John';
$row['surname']='Smith';
$row[1]='Smith';
将此函数替换为mysql_fetch_assoc()
(仅返回带关联键的数组)或mysql_fetch_row()
(仅返回带数字键的数组)。在这两种情况下,您的脚本都会按预期工作。