我需要从我表格的最后一行添加一个名字,它有点工作,它会输出两次正确的数据。因此,而不是name1,它给了我name1name1。我仍然是PHP的新手,但我认为在这段代码中有一个双循环让我很难过,但我仍然无法找到它的位置..
如果有人能给我一个非常感激的指针。
CREATE TABLE `virtual_domains` (
`id` int(11) NOT NULL auto_increment,
`name` varchar(50) NOT NULL,
PRIMARY KEY (`id`))
ENGINE=InnoDB DEFAULT CHARSET=utf8;
答案 0 :(得分:3)
默认情况下,mysql_fetch_array()返回值为关联值和枚举值(MYSQL_BOTH
);指定一个或另一个
while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) {
修改强>
但是mysql扩展名是旧而已弃用,你真的应该用准备好的语句和绑定变量切换到mysqli或pdo。如果您只是在学习,那么最好从一开始就使用正确的扩展来学习正确的方法
答案 1 :(得分:2)
不需要while
。您正在获取single
行。并使用mysql_fetch_assoc
进行关联array
$row = mysql_fetch_assoc($results);
echo '<tr>';
foreach($row as $field) {
echo '<td>' . htmlspecialchars($field) . '</td>';
}
echo '</tr>';
答案 2 :(得分:1)
我会使用mysql_fetch_assoc
。因为这只会将结果作为关联数组获取。
$query="SELECT question FROM poll ORDER BY id DESC LIMIT 1";
$results = mysql_query($query);
while ($row = mysql_fetch_assoc($results)) {
echo '<tr>';
foreach($row as $field) {
echo '<td>' . htmlspecialchars($field) . '</td>';
}
echo '</tr>';
}