PHP中的MySQL查询没有结果,但通过phpMyAdmin得到1个结果
可能重复:PHP中的MySQL查询没有结果,但通过phpMyAdmin得到1个结果,php,mysql,Php,Mysql,可能重复: 事情是这样的。我想制作一个登录表单,但我一直收到错误消息: mysql\u num\u rows():提供的参数在第14行中不是有效的mysql结果资源 我的代码如下所示: if($_POST){ ob_start(); $fusuario = $_POST['fusuario']; $fsenha = md5($_POST['fsenha']); $sql = "SELECT * FROM usuario WHERE login='$fus
事情是这样的。我想制作一个登录表单,但我一直收到错误消息: mysql\u num\u rows():提供的参数在第14行中不是有效的mysql结果资源 我的代码如下所示:
if($_POST){
ob_start();
$fusuario = $_POST['fusuario'];
$fsenha = md5($_POST['fsenha']);
$sql = "SELECT * FROM usuario WHERE login='$fusuario' and senha='$fsenha'";
$result=mysql_query($sql);
$count=mysql_num_rows($result);
$row=mysql_fetch_array($result);
if($count==1)
{
session_start();
$_SESSION['admin_user'] = $fusuario;
$_SESSION['admin_id'] = $row['id_usuario'];
header("location:index.php");
}
else { $erro = 1; }
ob_end_flush();
}
?>
当我从phpMyAdmin执行SELECT查询时,它会返回1行,就像它应该返回的一样。当我通过PHP执行此操作时,不会返回任何行
有什么想法吗?您的mysql\u query()似乎遇到了错误。检查mysql返回的错误消息:
$result=mysql_query($sql) or die(mysql_error());
$count=mysql_num_rows($result);
我猜你的mysql连接有问题。。。请尝试明确包含mysql连接标识符:
mysql_query($sql,[INCLUDE LINK IDENTIFIER HERE])
如果您不确定这意味着什么,请阅读以下内容:如果mysql_num_rows()说$result不是有效的资源,可能是因为查询失败,返回的是FALSE而不是资源
运行SQL查询后,应始终检查错误。查看检查
if(!$result).
的代码示例
我从您的评论中看到,在发出查询时,您没有打开到数据库的连接。那也会是个问题。:-) 你是否连接到MySQL,我看不到MySQL\u连接。还可以使用mysql\u real\u escape\u string来防止SQL注入攻击;)天啊!我是一个多么愚蠢的人。连接到数据库的代码在SQL查询之后。。。谢谢!别担心,我说的是经验!呵呵