我的代码有问题。我想插入变量$ columnnames作为复选框的名称。我尝试了几件事,但没有人成功。
<?php
mysql_connect("host", "user", "password") or die("Connection Failed");
mysql_select_db("database")or die("Connection Failed");
$query = "select * from table";
$result = mysql_query($query);
$numcolumn = mysql_num_fields($result);
for ( $i = 0; $i < $numcolumn; $i++ ) { $columnnames = mysql_field_name($result, $i);
echo "<input type='checkbox' name='".$columnnames."' value='yes'>" .str_replace('_', ' ', $columnnames)."\n";
}
?>
当我运行代码时,它看起来像这样:
<input type="checkbox" name="" value="1">
空名?
答案 0 :(得分:2)
你可以试试这个。
while ($row = mysql_fetch_array($result)) {
foreach($row as $key => $value) {
echo "<input type='checkbox' name='" . $key . "' value='" . $value . "'>" . str_replace('_', ' ', $key) . "\n";
}
}
这有帮助吗?
答案 1 :(得分:1)
你可以这样使用
\
答案 2 :(得分:-1)
如果其他一切正常(您的数据库连接,查询,结果等)以及正确的<form>
标记。
这是一个证明它有效的例子:
<?php
$columnnames = "Hawas_Ka_Pujaari";
echo "<input type='checkbox' name='".$columnnames."' value='yes'>" .str_replace('_', ' ', $columnnames)."\n";
?>
修改强>
在给它几个读取之后,这些是你应该检查/干燥调试的东西(或者用我们的语言: Desi Debugging )
1) echo $result = mysql_query($query);
,看看你得到了什么?因为查询失败的可能性很大(没有给你任何错误,因为你没有启用错误报告,仍然使用不再支持的已弃用的 mysql函数)。
2) mysql_field_name();
返回记录集中字段的名称因此,如果查询首先失败,则此&gt; $columnnames = mysql_field_name($result, $i);
是没用的。 (再次已弃用的 mysql函数)
注意:考虑到您的连接成功并且 不像
mysql_connect("host", "user", "password")
那样 选择了正确的有效表后,Ohtable
是MySQL中的保留字 比如评论中提到的Robbie Averill,所以你应该考虑改变 那也是。而且查询成功的事实应该如此 工作