求助啊 php 数组与mysql

[复制链接]
查看11 | 回复6 | 2011-8-24 04:31:04 | 显示全部楼层 |阅读模式
?php$username=$_POST[\'uid\'];if(mysqli_connect_errno()){echo\"数据库连接失败!br\\n\";echomysqli_connect_error();exit;//退出程序,后面的所有语句将不再执行}else$db=@newmysqli(\"127.0.0.1\",\"root\",\"123456\",\"phpmyadmin\");$sql=\"select*fromuserinfowhereusername=\'$username\'\";$result=mysql_query($sql);$arr=mysql_fetch_array($result);//这是第12行$name=$arr[\'name\'];$sex=$arr[\'sex\'];$age=$arr[\'age\'];$email=$arr[\'email\'];帮我改改一运行就是显示Warning:mysql_fetch_array():suppliedargumentisnotavalidMySQLresultresourcein........changeinfo.phponline12
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
你确认你的sql语句可以查询出来内容吗?追问我放在mysql中查询了那个表中我没有填数据所以返回结果
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
表里面没有数据,这样你是用读取数据的函数会报错.可以试着屏蔽错误,或是添加一下内容.还可以判断一下数据是否存在.mysql_query这个函数的第二个参数是可选的,如果没有填写的话默认会使用上一次打开的链接.因为你之前有打开的链接,所以一般不会出错.你也可以试着填写第二个参数试试.最主要的还是数据库里面没有数据!
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
你的sql语句可能存在问题,导致没有从查到有效的结果,所以无法fetch
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
是有点问题,你确定你第11行有结果吗,你建了一个数据连接,这里没错,但是你没选择是哪个数据库,当然会出错了,可以像下面那样mysql_select_db($db,$conn);//这行是选择数据,$db是数据库名,,$conn是连接名$result=mysql_query($sql);//这是你原来的第11行这样应该没问题了,还有你的11行,像你那样写法是可以,不过还是推荐像下面这样写好点$result=mysql_query($sql,$conn);
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
lz的写法有问题,是面向对象和面向过程混淆了;$db=@newmysqli(\"127.0.0.1\",\"root\",\"123456\",\"phpmyadmin\");这个是面向对象链接数据库,但是下面的链接数据库代码却都是面向过程,这样肯定不对啦,网上的例子很多,自己随便找一个啦
回复

使用道具 举报

千问 | 2011-8-24 04:31:04 | 显示全部楼层
貌似还没连接到数据库吧?mysql_fetch_array():suppliedargumentisnotavalidMySQLresultresourcein........changeinfo.phponline12最长见得原因是两种,一个是SQL语句写错了,不过看你的SQL语句应该是对的那么就是数据库没连接上去因为mysql_query($query)是返回资源的,上面这两种问题都可能会导致这个函数无法返回资源,但是mysql_fetch_array($result)的参数又必须要写资源,如果没返回资源的变量放到里面就会报告参数错误的一个警告
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行