从MySQL获取PHP变量时出现问题

时间:2012-05-08 03:50:29

标签: php mysql variables

我有一个像“Doctor and Surgical”这样的变量我从Mysql数据库中取出这个值并将其存储在变量中。当我回应这个变量时,它只给我“医生” 任何人都可以告诉我如何将从Mysql中检索到的上述值作为整个变量......

编辑

请找到以下代码

query.php
<form action="process.php" method="post">
<select name="cat">
<?php
$sql="select distinct Category from tbl_1 order by Category asc";
$query=mysql_query($sql);

while($row=mysql_fetch_array($query))
{

 echo "<option value=".$row[Category].">".$row[Category]."</option>";
}
?>
</select>
<select name="station">
<?php
$sql_1="select distinct Station from tbl_1 order by Station asc";
$query_1=mysql_query($sql_1);

while($row=mysql_fetch_array($query_1))
{

echo "<option value=".$row[Station].">".$row[Station]."</option>";
}
?>
</select>
<input name="C" type="submit" />
</form>



process.php

$myValue =$_POST['cat'];
$myStation=$_POST['station'];

echo $myValue;
echo "<br/>";
echo $myStation;

$mySqlStm ="SELECT Name FROM tbl_1 WHERE Category='$myValue' and Station='$myStation'";

$result2 = mysql_query($mySqlStm) or die("Error:mysql_error()"); 

if(mysql_num_rows($result2) == 0){ 
echo("<br/>no records found"); 
} 
ELSE 
{ 
echo "<table border='1'>"; 

//ECHO THE RECORDS FETCHED
while($row = mysql_fetch_array($result2)) 
{ 
echo "<tr>"; 

echo "<td>" . $row['Name'] . "</td>"; 
}}

这里当我回显$ myValue时,它给了我“医生”而不是“医生和外科医生” 我需要“医生和外科医生作为整个变量。”

4 个答案:

答案 0 :(得分:2)

您需要正确引用该值:

 echo "<option value='".$row[Category]."'>".$row[Category]."</option>";

使用您当前的代码,如果您查看源代码,您可能会看到类似的内容:

 <option value=Some Category>Some Category</option>

但如果正确引用,您会看到正确的值。

答案 1 :(得分:1)

您可以使用它而无需连接:

echo "<option value='{$row[Category]}'>{$row[Category]}</option>";

答案 2 :(得分:0)

将引号想象为支架或html标签。当你打开它时,你就在里面直到你关闭它。在这种情况下,您需要引用来告诉php要回显的内容以及将为html属性打印的不同引号。对于html代码,使用单引号和php双引号通常更容易。然后.只是意味着将一堆东西拼接在一起,而不必连续十次输入echo命令。所以当你有这个:

echo '<option value="'.$row[Category].'">'.$row[Category].'</option>';

你可以像这样分解它(只是为了你的心理清晰,不要实际编码):

echo 
    '<option value=" '
    .
    $row[Category]
    .
    ' "> '
    .
    $row[Category]
    .
    '</option>'
;

答案 3 :(得分:0)

使用单引号&amp;只需保证$ row ['Category']的价值 试试吧: echo“”。$ row ['Category']。“”;