mysql_fetch_array 失败_无语的出错,mysql_fetch_array()

MySQL PHP 数据库连接 查询

代码如下,求帮忙看一下吧!

getConn();}public function getConn(){$db = require_once 'config/config.php';$this->dbhost = $db['dbhost'];$this->dbuser = $db['dbuser'];$this->dbpsw = $db['dbpsw'];$this->dbchar = $db['dbchar'];$this->dbname = $db['dbname'];$this->tablepre = $db['tablepre'];$this->conn = mysql_connect($this->dbhost,$this->dbuser,$this->dbpsw) or die(mysql_error()."

Mysql连接失败!");mysql_select_db($this->dbname,$this->conn) or die(mysql_error()."

数据库访问出错");mysql_query("set names ".$this->dbchar,$this->conn);}/** * 执行sql */public function query($sql){return mysql_query($sql,$this->conn) or die(mysql_error()."

SQL执行出错:$sql");}/** * 返回多条记录 */public function getDataArrays($sql,$type = MYSQL_BOTH){$result = $this->query($sql);$refArr = array();while ($row = mysql_fetch_array($result,$type)){$refArr[] = $row;}return $refArr;}/** * 关闭数据库链接 */public function closeConn(){mysql_close($this->conn);}}

调用如下:

$conn = new Conn();$sql = "select * from qj_content";$contentList = $conn->getDataArrays($sql,MYSQL_ASSOC);$conn->closeConn();

执行结果如下:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:AppServwwwqjcenturyconn.php on line 45

第45行代码在上面用红色标注了

回复讨论(解决方案)

那块用红色标注的被弄成php代码了,我晕

是/**

* 返回多条记录

*/

public function getDataArrays($sql,$type = MYSQL_BOTH){

$result = $this->query($sql);

$refArr = array();

while ($row = mysql_fetch_array($result,$type)){

$refArr[] = $row;

}

return $refArr;

}

怎么都没有人来?

几次提问 不论简单还是困难都没有人来帮帮解答一下,

CSDN什么时候变得这么冷清了?

估计sql 出问题了

在while 上 echo mysql_error(); 看看

LZ看看W3C上面的例子吧

语法

mysql_fetch_array(data,array_type)

参数 描述

data 可选。规定要使用的数据指针。该数据指针是 mysql_query() 函数产生的结果。

array_type

可选。规定返回哪种结果。可能的值:

MYSQL_ASSOC – 关联数组

MYSQL_NUM – 数字数组

MYSQL_BOTH – 默认。同时产生关联和数字数组

query 方法改成这样

public function query($sql){ $rs = mysql_query($sql,$this->conn) or die(mysql_error()."

SQL执行出错:$sql"); return $rs; }

因为 mysql_query($sql,$this->conn) or die(mysql_error().”

SQL执行出错:$sql”)

是一个逻辑表达式,直接返回的话只能是逻辑值。

所以要写作

$rs = mysql_query($sql,$this->conn) or die(mysql_error().”

SQL执行出错:$sql”);

因为 = 的优先级高于 or 所以 $rs = mysql_query($sql,$this->conn) 被先执行

算式变为

$rs or die(mysql_error().”

SQL执行出错:$sql”);

当然还是逻辑表达式啦,但其结果被抛弃了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值