MySQL SELECT 查询的回显结果 PHP
Echo Result of MySQL SELECT Query in PHP
我有一个页面,我想根据在另一个 table 中找到的值显示来自一个 table 的单个值:
$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 是预选选项。
数据库的结果是二维的:
result[0]['column1']
result[0]['column2']
result[0]['column3']
result[1]['column1']
result[1]['column2']
result[1]['column3']
因此,如果您的查询 returns 'cname'
你应该:
echo $r[0]['cname']
我直接使用数组变量解决了这个问题:
foreach ($r as $opt) {
$output .= '<option value=\"'.$opt.'\"';
if ($opt=$cname) {$output .= ' selected';}
$output .= '>'.$opt.'</option>';
}
您必须尝试 print_r 而不是 echo 作为数组。
尝试 print_r($r);
我有一个页面,我想根据在另一个 table 中找到的值显示来自一个 table 的单个值:
$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 是预选选项。
数据库的结果是二维的:
result[0]['column1']
result[0]['column2']
result[0]['column3']
result[1]['column1']
result[1]['column2']
result[1]['column3']
因此,如果您的查询 returns 'cname'
你应该:
echo $r[0]['cname']
我直接使用数组变量解决了这个问题:
foreach ($r as $opt) {
$output .= '<option value=\"'.$opt.'\"';
if ($opt=$cname) {$output .= ' selected';}
$output .= '>'.$opt.'</option>';
}
您必须尝试 print_r 而不是 echo 作为数组。 尝试 print_r($r);