按照我写的代码。即使表中包含关键字,也不会返回任何值。
<?php
$conn = mysql_connect("localhost", "root", "qwerty");
mysql_select_db("mis", $conn);
$coursename=$_POST['coursename'];
$sql = "SELECT *
FROM course
WHERE coursename='$coursename'".
"ORDER BY coursename";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
echo $row['coursename'];
};
?>
答案 0 :(得分:1)
问题是区分大小写。 MySQL标识符不区分大小写,除非您将它们包含在反引号中。但是,PHP数组索引是。
因此,如果您有一个名为CourseName
的列,则以下查询将工作:
SELECT *
FROM course
WHERE cOuRSEnaME = 'foo'
ORDER BY courSEnAmE
但是,在PHP中将其引用为$row['coursename']
,$row['cOURsENamE']
或任何其他不同的组合将不起作用,因为这些都是指不同的键。您必须使用$row['CourseName']
。
答案 1 :(得分:0)
$sql = "SELECT *
FROM course
WHERE coursename='$coursename'".
"ORDER BY coursename";
你的代码很好但是使用串联字符串和变量要好得多,所以很容易解释它,而且我想指出你的ORDER BY
语句之前没有可能导致错误的空格,所以确保它们之间有空格coursename = '" . $coursename . "' ORDER BY
。请参阅下面的完整查询
$sql = "SELECT *
FROM course
WHERE
coursename = '" . $coursename . "' ORDER BY coursename";
答案 2 :(得分:0)
$sql = "SELECT *
FROM course
WHERE coursename='" . $coursename . "'
ORDER BY coursename";
$result = mysql_query($sql, $conn);
if(mysql_num_rows($result) > 0) {
while($row = mysql_fetch_array($result)) {
echo $row['coursename'];
}
} else {
echo "given coursename does not exist";
}
?>
答案 3 :(得分:0)
尝试在error_reporting(E_ALL);
之后立即添加<?php
,看看您的浏览器是否收到任何错误消息。
您应该能够找到问题的根本原因。
祝你的课程顺利(我猜;)。