该代码有问题,我的意思是,它没有按我想要的那样做。
<?php
$con = mysql_connect($db_s, $db_u, $db_p);
$db = mysql_select_db("saritur", $con);
$query = "SELECT resumo FROM resumos";
$res = mysql_query($query,$con);
echo "<select name='usuario' id='usuario'>";
while (($row = mysql_fetch_row($res)) != null)
{
echo "<option value = '".$row['resumo']."'>".$row['resumo']."</option>";
}
echo "</select>";
mysql_close($con);
?>
我是PHP的新手,所以这已经是一个问题,我从这里得到了另一个问题的代码,但仍然无法正常工作
编辑:
好的家伙我有一个愚蠢的问题,变量$ db_s,$ db_u等是在一个包含文件,不幸的是我没有得到它的值所以我不得不在主文件上声明它们现在看起来像这样:
<select name="resumo" id="usuario">
<?php
$db_u = 'phiter';
$db_p = '****';
$db_s = '127.0.0.1';
$con = mysql_connect($db_s, $db_u, $db_p);
$db = mysql_select_db("saritur", $con);
$query = "SELECT * FROM resumos";
$res = mysql_query($query,$con);
while ($row = mysql_fetch_row($res))
{
echo "<option value = '{$row['resumo']}'>{$row['resumo']}</option>";
}
mysql_close($con);
?>
</select>
正在与数据库通信,行数与数据库中的数字相同,NICE!但它都显示了白色块,没有任何关于选项的文字。我在页面代码中看到了错误,它说
注意:未定义的索引:在xxx线上重新开始 48
WHYYYYYY
另一个更新:
将mysql_fetch_row
更改为mysql_fetch_array
,现在可以正常使用
答案 0 :(得分:1)
我将在这里赌一把,这是唯一错误的......
while (($row = mysql_fetch_row($res)) != null)
更改为
while (($row = mysql_fetch_assoc($res)))
为什么呢?参见参考页面
http://php.net/manual/en/function.mysql-fetch-row.php
http://php.net/manual/en/function.mysql-fetch-assoc.php
mysql_fetch_row()返回一个数值数组,而mysql_fetch_assoc返回一个键控数组......这就是你使用它的方式。
或者你可以继续使用mysql_fetch_row()但是然后使用$ row [0]或reset($ row)来访问第一个值。
答案 1 :(得分:0)
使用mysql_fetch_assoc或mysql_fetch_array代替mysql_fetch_row