首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php查询在html选项中的结果

问php查询在html选项中的结果
EN

Stack Overflow用户
提问于 2013-12-24 17:00:36
回答 2查看 1.6K关注 0票数 0

为什么我得到的是白色行而不是值?

代码语言:javascript
复制
<select name="select">
    <?php                    
    $connessione = mysql_connect('localhost' , 'root', '') or die("Impossibile connettersi: " .mysql_error());
    mysql_select_db("musica",$connessione);
    $query = mysql_query("SELECT * FROM artisti_preferiti");
    while($row = mysql_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-24 17:48:53

我怀疑这是一个DB连接问题,在这里,我成功地测试了。

请考虑以下几点:

Sidenote:确保设置是正确的,包括DB名称和colum名称。

DB连接文件:(db_connect.php)

代码语言:javascript
复制
<?php
$mysql_hostname = 'xxx';
$mysql_username = 'xxx';
$mysql_password = 'xxx';

$mysqli = mysql_connect("$mysql_hostname", "$mysql_username", "$mysql_password");

if($mysqli->connect_errno > 0) {
  die('Connection failed [' . $mysqli->connect_error . ']');
}

?>

PHP (example.php)

代码语言:javascript
复制
<select name="select">
<?php

include 'db_connect.php';

    mysql_select_db("musica",$mysqli);
    $query = mysql_query("SELECT * FROM artisti_preferiti",$mysqli);
    while($row = mysql_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>

对最后一个注意事项,mysql_*函数是不推荐的。请考虑将mysqli_*与准备好的语句或PDO结合使用。

编辑

MySQLi_*版本

Sidenote:最好使用列名而不是SELECT * --即:SELECT nome, cognome

DB连接文件:(db_connect_mysqli.php)

代码语言:javascript
复制
<?php
$mysql_hostname = 'xxx';
$mysql_username = 'xxx';
$mysql_password = 'xxx';
$mysql_dbname = 'xxx';

$mysqli = new mysqli("$mysql_hostname", "$mysql_username", "$mysql_password","$mysql_dbname");

if($mysqli->connect_errno > 0) {
  die('Connection failed [' . $mysqli->connect_error . ']');
}

?>

PHP (example_mysqli.php)

代码语言:javascript
复制
<select name="select">
    <?php

include 'db_connect_mysqli.php';

$query = $mysqli->query("SELECT * FROM artisti_preferiti");


    while($row = mysqli_fetch_array($query))
    {
        ?><option value="<?php echo $row['nome']; ?>"> <?php echo $row['cognome'];?></option> 
    <?php }?>
</select>
票数 1
EN

Stack Overflow用户

发布于 2013-12-24 17:38:59

我更改了您的脚本以便我们可以调试

代码语言:javascript
复制
<?php
$lnk = mysql_connect('localhost' , 'root', '') or die("Impossibile connettersi: " .mysql_error());
mysql_select_db("musica",$lnk);
$q = 'SELECT nome,cognome FROM artisti_preferiti';
$result = mysql_query($q,$lnk);
$numRows = mysql_num_rows($result);
$rows = array();
while($row = mysql_fetch_array($result)) $rows[$row['nome']] = $row['cognome'];
/* show us this!! */
print_r($rows);
?>
<select name="select"><?php
  foreach ($rows as $nome => $cognome) {
    echo "<option value='$nome'>$cognome</option>";
  }
?></select>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20764339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档