【发布时间】:2015-02-16 14:07:11
【问题描述】:
我有一个页面,我想根据在另一个表中找到的值显示一个表中的单个值:
$username = 'Joe';
$query = 'SELECT * FROM chars WHERE uname = "$username"';
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_assoc($result);
$query = 'SELECT cname FROM chars INNER JOIN usrs
ON chars.cid = usrs.clastused WHERE usrs.uname = "$username"';
$q = mysql_query($query) or die(mysql_error());
$r = mysql_fetch_assoc($q);
echo '<p>q = "'.$q.'" and r = "'.$r['cname'].'"</p>'; //for debugging
foreach ($row['cname' as $opt) {
$output .= '<option value=\"'.$opt.'\"';
if ($opt=$r) {$output .= ' selected';}
$output .= '>'.$opt.'</option>';
}
PHPMyAdmin 给出了我期望的响应 CNAME Joe 和 $q 给出了 Resource id#5 但 $r 是空白的。
如何回显结果?
我最终想要的是有一个下拉列表,其中 clastused 是预选的选项。
【问题讨论】:
-
所以,您查询了一个字段
SELECT cname FROM,但试图回显另一个字段$r['charname']?尝试在查询中添加另一个,或根据请求回显相同的cname -
对不起@kim-alexander,但由于我的输入错误,这是一个红鲱鱼。我已经编辑了代码 sn-p 以删除我的错误并添加一些上下文。
-
mysql_*函数现已弃用。考虑使用 mysqli 或 PDO。 php.net/manual/en/function.mysql-connect.php
标签: php mysql select inner-join