在我的代码中,我正在检查变量是否存在。但它并没有像我期望的那样发展。
这就是我要做的事情:
$result
。 我使用if(isset($result))
但似乎没有工作,看起来正在执行if
,即使在$ result中没有数据时也不应该这样做。 (但有问题,因为在此块中没有实际的$result
变量)
答案 0 :(得分:3)
if($result)
不仅适合您吗?如果您有错误报告显示E_NOTICE,请尝试if(isset($result) && $result)
答案 1 :(得分:2)
根据您执行查询的方式,您可能会使用empty()
代替isset()
。
来自文档:
isset
确定变量是否已设置且不为NULL。empty
确定变量是否被视为空。
例如:
$var = '';
isset($var)
将在设置时返回true,但empty($var)
将返回false,因为其值为空字符串。
答案 2 :(得分:2)
Isset仅适用于非实例化变量。将$ result设置为db响应时,实际上是在设置变量。
您可以使用mysql_fetch_assoc(resource $ result)或mysql_fetch_array(resource $ result [,int $ result_type = MYSQL_BOTH]),具体取决于您要执行的操作。如果没有响应,这两个函数都将返回false。
http://www.php.net/manual/en/function.mysql-fetch-assoc.php http://www.php.net/manual/en/function.mysql-fetch-array.php
答案 3 :(得分:1)
如果您使用类似mysql_query的内容,它将返回资源,或者在出错时使用false。这意味着它将永远被设置。
答案 4 :(得分:1)
要检查是否有任何数据提取,请使用:
$connect = mysql_connect("127.0.0.1",$sql_username,$sql_password);
$data = mysql_query($sql_query,$connect);
$result = mysql_fetch_array($data);
if($result) { ... }