wWarning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in 错误

出错 Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in E:\AppServ\www\login\change_password_go.php on line 33 代码是 $query="update t_user set f_userpassword='$OldPassword1' where f_username='{$_SESSION['username']}' "; //必须要在数组前加上{},不然无法解析而报错。加上{}主要让语句识别里面是动态的数 组 $con = mysql_connect("localhost","root","123456"); $result=mysql_query($query); mysql_select_db("test", $con); $row=mysql_fetch_array($result); if (!$row) echo "SQL错误:".mysql_error();

第1个回答  2020-02-11
我笑了。呵呵你太可爱了
你听说过更新update可以把行读出来的啦
你是有是这样mysql_query('select
*
from
cei');这类才可以
update
delete
create
等mysql代码都是没有行的。
还有啊,你的代码顺序不对哦
正确应该是这样的:
<?php
mysql_connect("localhost","root","123456");//其实你不要把他保存变量也可以的,
mysql_select_db('test');//这里是寻找数据库;原来你有面跟着$con,是为了区分连接数据库的办法。
$query="update
t_user
set
f_userpassword='$OldPassword1'
where
f_username='$_SESSION[username]'
";
//这行在哪里都可以,你说要要加大括号啊。不用的,$_SESSION['username']和$_SESSION[username]是一样的,只是读取速度不一样而已。
$result=mysql_query($query);
//执行
if($result)//执行成功
echo
'更新成功';
else
echo
'SQL错误:',mysql_error();//在教你一下,echo呢,除了可以用.句号也可以,逗号,连接的。你可能不知道,其实echo不是函数,在php手册就说了。
?>
最后,解释一下双引号和单引号的区别
双引号,可以输出变量和字符串
单引号,只能输出字符串
你根据情况来选择
如果还有不懂,你可以Hi我一下。我基本都在吧。