【发布时间】:2014-06-03 17:12:32
【问题描述】:
这是我的代码。实际上它运行没有错误,但它总是进入第一个条件,即使 mysql 中的值大于 0 例如是 10。
<?php
session_start();
$loginuser = $_SESSION['result'];
$con=mysqli_connect("localhost","root","","leavecalendar");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$sql="SELECT leavecount from employee WHERE username = $loginuser[username]";
$resource = mysql_query($sql);
if ($resource == 0) {
echo "ajsdjsdasjd"; <----always enters here
}
else
{
header("insert.php");
}
mysqli_close($con);
?>
【问题讨论】:
-
你不能使用
mysql_query和mysqli,你必须使用mysqli_query。 -
另外,这将失败
WHERE username = $loginuser[username]"; -
你的查询也有错误(字符串需要加引号)
-
查询后,你必须调用
mysqli_fetch_assoc()(或其他mysqli_fetch函数之一)来获取结果行;$resource不包含数据。 -
@Fred-ii- 我的印象是,对于
mysqli_connect("localhost","root","","leavecalendar");、echo "Failed to connect to MySQL: " . mysqli_connect_error();和WHERE username = $loginuser[username]这样的 gem,这不是生产代码。或者,至少,我真的,真的希望不会。希望这家伙不是在写银行软件,否则我们就完蛋了。