我是想问一下 $pp=$db->executesql(); 这句没有错 为什么我在 $num=mysql_fetch_array($pp); //51行 时就出错了, 提示 Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\test\administrator\image_load.php on line 51
//数据库类 class Database { //定义属性 var $myconnid;//连接id var $mysqlstring; //执行的SQL语句 //定义方法连接数据库 function __construct($pHost,$pUser,$pPwd,$pDbName) { $this->myconnid=mysql_connect($pHost,$pUser,$pPwd);
mysql_select_db($pDbName,$this->myconnid);
mysql_query("set names gb2312"); } //定义方法执行数据库语句 function executesql() { mysql_query($this->mysqlstring); } //定义方法关闭数据 function __destruct() {
$pp=$db->executesql(); 这句没有错
为什么我在
$num=mysql_fetch_array($pp); //51行
时就出错了,
提示
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in D:\AppServ\www\test\administrator\image_load.php on line 51
请注意两行中间,$result是否被重置,或者什么的.
connect.php
<?php
/*
---数据库类
databasename //数据库名
databaseusername //数据库用户名
databasepassword //数据库密码
databasename //数据库名define("databasename","localhost");define("databaseusername","root");define("databasepassword","1234");define("databasename","myledcc");
*/ $DBHOST="localhost"; //主机名
$DBUSER="root"; // 数据库用户名
$DBPWD="1234"; //密码
$DBNAME="myledcc" ; //数据库名
//数据库类
class Database
{
//定义属性
var $myconnid;//连接id
var $mysqlstring; //执行的SQL语句
//定义方法连接数据库
function __construct($pHost,$pUser,$pPwd,$pDbName)
{
$this->myconnid=mysql_connect($pHost,$pUser,$pPwd);
mysql_select_db($pDbName,$this->myconnid);
mysql_query("set names gb2312");
}
//定义方法执行数据库语句
function executesql()
{
mysql_query($this->mysqlstring);
}
//定义方法关闭数据
function __destruct()
{
mysql_close($this->myconnid);
}
}
?>load.php
//**包括文件
require("function/function.php");
//require("conn/conn.php");
include("../function/connect_data.php");$file_addr=$_SERVER['DOCUMENT_ROOT']."/test/administrator/upload/";//得到路径$file_name=$_FILES["myfile"]["name"];//得到文件名$file_type=$_FILES["myfile"]["type"];//$x=substr($file_type,0,5);
/*----------------------判断图片格式--------------------*/
if(substr($file_type,0,5)!="image")
{
error("请上传为图片格式的文件");
}
else
{
/*---------------------在图片格式正确的格式下------------------*/
$file_size=$_FILES["myfile"]["size"];
/*---------------------在图片很大的情况下---------------------*/
if($file_size>1042000)
{
error("文件太大");
}
else
{
$log_name=strtolower(strrchr($file_name,".")); //得到文件扩展名
$file_name=$file_addr.random().$log_name;
copy($_FILES["myfile"]["tmp_name"],$file_name);
$result=mysql_query("select count(*) from head_pic");
$num=mysql_fetch_array($result);
echo $num[0];
$db=new Database("localhost","root","1234","myledcc");
/*--------------------判断是否存在数据-------------------------*/
$db->mysqlstring="select count(*) from head_pic";
$pp=$db->executesql();
$jj=mysql_num_rows($pp); }
}?>我贴出源文件,麻烦大虾帮我看一下。如果我用最直接的写法,不用调用类方法就不会出错,我弄不懂这个为什么会出错,错在哪里
{
mysql_query($this->mysqlstring);
} 这没有返回,当然是非法的结果集了.function executesql()
{
return mysql_query($this->mysqlstring);
}