Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP中的mysql_fetch_assoc()错误_Php_Html_Mysql - Fatal编程技术网

PHP中的mysql_fetch_assoc()错误

PHP中的mysql_fetch_assoc()错误,php,html,mysql,Php,Html,Mysql,我正在运行下面的代码,但是它给了我下面的错误。我已经读了好几篇关于这个的文章,但还是没用。 我得到的错误是: Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/xyz/public_html/13/beta/signup.php on line 49 Warning: Cannot modify header information - headers alr

我正在运行下面的代码,但是它给了我下面的错误。我已经读了好几篇关于这个的文章,但还是没用。 我得到的错误是:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home/xyz/public_html/13/beta/signup.php on line 49
Warning: Cannot modify header information - headers already sent by (output started at /home/xyz/public_html/13/beta/signup.php:49) in /home/xyz/public_html/13/beta/signup.php on line 69
我的
PHP
脚本:(我已经标记了
49
69

if(设置($\u POST['submit'])&&$\u POST['submit']=='Login')
{
$err=array();
如果(!$_POST['username']| |!$_POST['pass']))
$err[]=“必须填写所有字段!”;
如果(!count($err))
{
$\u POST['username']=mysql\u real\u escape\u字符串($\u POST['username']);
$\u POST['pass']=mysql\u real\u escape\u字符串($\u POST['pass']);
$_POST['memory']=(int)$_POST['memory'];
$row=mysql\U fetch\U assoc(mysql\U查询(“从用户中选择id、用户、电子邮件、clg,其中用户={$\U POST['username']}和pass=”)”).md5($\U POST['pass'])。“”);-->第49行
如果($row['user']))
{
$\会话['user']=$row['user'];
$\会话['id']=$row['id'];
$\会话['clg']=$row['clg'];
$\会话['email']=$row['email'];
$_SESSION['memory']=$_POST['memory'];
setcookie('tcookie',$_POST['memory']);
标题(“Location:index.php”);
出口
}
else$err[]=“错误的用户名和/或密码!”;
}
如果($err)
$\会话['msg']['login-err']=内爆(“
,$err”); 标题(“Location:signup.php”);-->第69行 出口 }
您的
mysql\u查询
函数返回的不是结果而是错误。尝试:

$res = mysql_query("SELECT id,user,email,clg FROM users WHERE user='{$_POST['username']}' AND pass='".md5($_POST['pass'])."'");
if ($res === false) {
    echo mysql_error();
    die;
}
$row = mysql_fetch_assoc($res);
这将帮助您获取错误信息

一旦该错误消失,您可能会发现“headers ready send error”也消失了,这是由于输出中已经打印了某些内容(可能是错误消息)


更新:对于“未选择数据库”错误,您需要使用
mysql\u select\u db($databasename)mysql\u query()
之前,请先执行code>。否则,mysql不知道要查询哪个数据库


此外,您可能希望研究使用PDO,这是访问MySQL数据库的另一种方式,而且它的堆更安全,使用更方便(IMO)。

您的
MySQL\u query
函数返回的是错误,而不是结果。尝试:

$res = mysql_query("SELECT id,user,email,clg FROM users WHERE user='{$_POST['username']}' AND pass='".md5($_POST['pass'])."'");
if ($res === false) {
    echo mysql_error();
    die;
}
$row = mysql_fetch_assoc($res);
这将帮助您获取错误信息

一旦该错误消失,您可能会发现“headers ready send error”也消失了,这是由于输出中已经打印了某些内容(可能是错误消息)


更新:对于“未选择数据库”错误,您需要使用
mysql\u select\u db($databasename)mysql\u query()
之前,请先执行code>。否则,mysql不知道要查询哪个数据库


此外,您可能希望研究使用PDO,它是访问MySQL数据库的另一种方式,而且它的堆更安全,使用起来更方便(IMO).

尝试删除第69行冒号后的espace。

尝试删除第69行冒号后的espace。

在执行mysql\u查询之前,请检查您是否正确执行了mysql\u连接并与mysql服务器建立了有效连接。
顺便说一句,法比安·坦普对PDO的看法是正确的。而且mysqli扩展比mysql更好。它更快、更稳定。

在执行mysql\u查询之前,请检查您是否正确执行了mysql\u连接,是否与mysql服务器建立了有效连接。
顺便说一句,法比安·坦普对PDO的看法是正确的。而且mysqli扩展比mysql更好。它更快更稳定。

不要
md5()
已经通过
mysql\u real\u escape\u string()
的东西。不要
md5()
已经通过
mysql\u real\u escape\u string()的东西
。头名称和值之间的空格没有问题。头名称和值之间的空格没有问题。您需要添加
mysql\u select\u db($databasename)
在使用
mysql\u query()
之前,需要添加
mysql\u select\u db($databasename)mysql\u query()
之前,请先执行code>。