这可能是一件容易的事情,但我是一个业余爱好者,事情本身并不适合我.
我只想查看$ lectureName显示的行是否存在.如果某个行确实存在且其中包含$ lectureName,我希望该函数返回"已分配",否则它应返回"可用".这就是我所拥有的.我很确定它一团糟.请帮忙.
function checkLectureStatus($lectureName)
{
$con = connectvar();
mysql_select_db("mydatabase", $con);
$result = mysql_query("SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName'");
while($row = mysql_fetch_array($result));
{
if (!$row[$lectureName] == $lectureName)
{
mysql_close($con);
return "Available";
}
else
{
mysql_close($con);
return "Assigned";
}
}
Run Code Online (Sandbox Code Playgroud)
当我这样做时,一切都返回可用,即使它应该返回分配.
kij*_*jin 33
检查行是否存在的最简单方法:
$lectureName = mysql_real_escape_string($lectureName); // SECURITY!
$result = mysql_query("SELECT 1 FROM preditors_assigned WHERE lecture_name='$lectureName' LIMIT 1");
if (mysql_fetch_row($result)) {
return 'Assigned';
} else {
return 'Available';
}
Run Code Online (Sandbox Code Playgroud)
无需乱七八糟的数组和字段名称.
qui*_*tin 22
这应该是诀窍:将结果限制为1行; 如果一行返回,$lectureName则为"已分配",否则为" 可用".
function checkLectureStatus($lectureName)
{
$con = connectvar();
mysql_select_db("mydatabase", $con);
$result = mysql_query(
"SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName' LIMIT 1");
if(mysql_fetch_array($result) !== false)
return 'Assigned';
return 'Available';
}
Run Code Online (Sandbox Code Playgroud)
Sta*_*arx 18
使用mysql_num_rows()来检查行是否可用
$result = mysql_query("SELECT * FROM preditors_assigned WHERE lecture_name='$lectureName' LIMIT 1");
$num_rows = mysql_num_rows($result);
if ($num_rows > 0) {
// do something
}
else {
// do something else
}
Run Code Online (Sandbox Code Playgroud)