我想从数据库列表中选择一个数据库并使用它但我收到错误,说数据库不存在。 我的代码是: 选择数据库以使用
<form action = "createtable.php" method = "post">
<?php
$query = "SHOW DATABASES";
$result = mysql_query($query, $connect);
if(!$result) { echo mysql_error(); var_dump($result);
var_dump($connect); var_dump($query); }
while($row = mysql_fetch_array($result)) {
echo '<input type = "radio" name = "db" value =' . $row[0] . '/>' . $row[0] . "<br>";
}
?>
<input type = "submit" name = "submit" value = "submit" />
</form>
<?php
if(isset($_POST['submit'])) {
echo 'submit done';
$db = $_POST['db'];
$query = "USE $db";
$result = mysql_query($query, $connect);
if(!$result) {
echo 'no' . mysql_error();
var_dump($db);
}
}
var_dump给了我 字符串'imt /'(长度= 4) 所以我知道这是错误。现在的问题是我怎么能逃避这个?
答案 0 :(得分:0)
我测试了你的代码并且它没有返回错误的结果,但它似乎导致我已经附上了PHP标签并编写单选按钮而没有任何混乱的PHP。所以我深入你的报价,我看到了这个
while ($row = mysql_fetch_array($result))
{echo '<input type = "radio" name = "db" value =' . $row[0] . '/>' . $row[0] . "<br>";}
?>
将导致
<input type = "radio" name = "db" value = imt/>
因此该值将变为imt/
。
您应该用引号value ="' . $row[0] . '"/>
或更好的
不要弄乱PHP和HTML:)
<?php while ($row = mysql_fetch_array($result)):?>
<input type = "radio" name = "db" value = "<?=$row[0];?>"/>
<?php endwhile; ?>