php echo没有输出显示很困惑,为什么?

时间:2014-06-13 15:14:39

标签: php html

我对此没有任何意义,我没有从我的回声得到任何输出,有人可以提供帮助,提前谢谢...唱歌

以下代码......

  $strSQL = "SELECT * FROM <tablename>  WHERE id='" . $_GET["serviceName"] . "'";
    $rs = mysql_query($strSQL);

while($row = mysql_fetch_array($rs)){
       echo "<dt>Name:</dt><dd>" . $row["serviceType"] . " " . $row["serviceName"] . "</dd>";
 echo "<dt>Phone:</dt><dd>" . $row["Phone"] . "</dd>";
 echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";

}

    // Close the database connection
mysql_close();
?>
    <p><a href="li.php">Return to the list</a></p>
    </body>
   </html>

有人可以告诉我我哪里出错了,我尝试了各种选择,提前谢谢,唱歌

2 个答案:

答案 0 :(得分:1)

试试这个调试代码:

$serviceName = mysql_real_escape_string($_GET['serviceName']); // Read PS note at the end
$strSQL = "SELECT * FROM `tablename`  WHERE id='$serviceName'";
$rs = mysql_query($strSQL) or die(mysql_error()); // Display any query error

echo "Total number of rows: ". mysql_num_rows($rs); // Echo number of rows

while($row = mysql_fetch_assoc($rs)){
      echo "<dt>Name:</dt><dd>" . $row["serviceType"] . " " . $row["serviceName"] . "</dd>";
      echo "<dt>Phone:</dt><dd>" . $row["Phone"] . "</dd>";
       echo "<dt>Birthdate:</dt><dd>" . $row["BirthDate"] . "</dd>";

}

请注意

  • 您应该转义$ _GET请求,不要直接在查询语句中使用它。使用mysql_real_escape_string()。 (此方法将被弃用,请阅读下一篇文章)

  • 您使用的许多功能将从PHP 5.5.0开始弃用。或者您可以使用PDO prepared statements

答案 1 :(得分:-4)

替换

 $_GET["serviceName"]

用这个

 $_GET['serviceName']

在你的情况下使用$ _GET中的单引号。