$ctable="CREATE temporary TABLE beyond( `mbtype` varchar(30) NOT NULL, `mstype` varchar(30) NOT NULL, `mname` varchar(200) NOT NULL, `mcolor` varchar(200) NOT NULL, `mcode` varchar(30) NOT NULL, `cust` varchar(30) NOT NULL, `spdp` float NOT NULL, `souput` float NOT NULL, `sback` float NOT NULL, `sbeyond` float NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=gb2312"; $conn=mysql_connect("localhost","root","",1,131072)or die("数据库连接失败:".mysql_error()); mysql_select_db("test",$conn)or die("The database is not connect!".mysql_error()); mysql_query($ctable,$conn);$insert="insert into beyond value(1,2,3,4,5,6,7,8,9,10)"; mysql_query($insert,$conn); $insert="insert into beyond value(11,22,33,44,55,66,77,88,99,1010)"; mysql_query($insert,$conn); $sql="select mbtype,mstype,mname,mcolor,mcode,cust,spdp,souput,sback,sbeyond from beyond where (1=1)"; $result=mysql_query($sql,$conn); echo mysql_num_rows($result);//这里报SQL没有资源的错误,也就是说临时表里没数据我执行之后显示是2,没有你说的错误哦!
存储过程:DROP PROCEDURE `UpdateMcode`// CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateMcode`( IN mcode VARCHAR(20), IN btype VARCHAR(50), IN stype VARCHAR(50), IN mname VARCHAR(255), IN mcolor VARCHAR(200), IN ecode VARCHAR(50), IN munit VARCHAR(50) ) BEGIN DECLARE back INT; IF LENGTH(mcode)<=0 OR LENGTH(btype)<=0 OR LENGTH(stype)<=0 OR LENGTH(mname)<=0 OR LENGTH(stype)<=0 THEN SET back=1; SELECT back; END IF; SET back=0; SELECT * FROM test; END在php中加上调用存储过程的代码: $ctable="CREATE temporary TABLE beyond( `mbtype` varchar(30) NOT NULL, `mstype` varchar(30) NOT NULL, `mname` varchar(200) NOT NULL, `mcolor` varchar(200) NOT NULL, `mcode` varchar(30) NOT NULL, `cust` varchar(30) NOT NULL, `spdp` float NOT NULL, `souput` float NOT NULL, `sback` float NOT NULL, `sbeyond` float NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=gb2312"; $conn=mysql_connect("localhost","root","",1,131072)or die("数据库连接失败:".mysql_error()); mysql_select_db("test",$conn)or die("The database is not connect!".mysql_error()); mysql_query($ctable,$conn);$insert="insert into beyond value(1,2,3,4,5,6,7,8,9,10)"; mysql_query($insert,$conn); $insert="insert into beyond value(11,22,33,44,55,66,77,88,99,1010)"; mysql_query($insert,$conn); $sql="select mbtype,mstype,mname,mcolor,mcode,cust,spdp,souput,sback,sbeyond from beyond where (1=1)"; $result=mysql_query($sql,$conn); echo mysql_num_rows($result).'<br />';//这里报SQL没有资源的错误,也就是说临时表里没数据 $result=mysql_query("call UpdateMcode('LTSP0000008','皮','牛皮','0035牛皮','黑','','SF')"); echo mysql_num_rows($result).'<br />';执行结果都是2,2,在mysql的test数据库中建了个test表,随便插入了两条数据。应该没问题的。
$ctable="CREATE temporary TABLE beyond(
`mbtype` varchar(30) NOT NULL,
`mstype` varchar(30) NOT NULL,
`mname` varchar(200) NOT NULL,
`mcolor` varchar(200) NOT NULL,
`mcode` varchar(30) NOT NULL,
`cust` varchar(30) NOT NULL,
`spdp` float NOT NULL,
`souput` float NOT NULL,
`sback` float NOT NULL,
`sbeyond` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gb2312";
$conn=mysql_connect("localhost","root","",1,131072)or die("数据库连接失败:".mysql_error());
mysql_select_db("test",$conn)or die("The database is not connect!".mysql_error());
mysql_query($ctable,$conn);$insert="insert into beyond value(1,2,3,4,5,6,7,8,9,10)";
mysql_query($insert,$conn);
$insert="insert into beyond value(11,22,33,44,55,66,77,88,99,1010)";
mysql_query($insert,$conn);
$sql="select mbtype,mstype,mname,mcolor,mcode,cust,spdp,souput,sback,sbeyond from beyond where (1=1)";
$result=mysql_query($sql,$conn);
echo mysql_num_rows($result);//这里报SQL没有资源的错误,也就是说临时表里没数据我执行之后显示是2,没有你说的错误哦!
CREATE DEFINER=`root`@`localhost` PROCEDURE `UpdateMcode`(
IN mcode VARCHAR(20),
IN btype VARCHAR(50),
IN stype VARCHAR(50),
IN mname VARCHAR(255),
IN mcolor VARCHAR(200),
IN ecode VARCHAR(50),
IN munit VARCHAR(50)
)
BEGIN
DECLARE back INT;
IF LENGTH(mcode)<=0 OR LENGTH(btype)<=0 OR LENGTH(stype)<=0 OR LENGTH(mname)<=0 OR LENGTH(stype)<=0 THEN
SET back=1;
SELECT back;
END IF;
SET back=0;
SELECT * FROM test;
END在php中加上调用存储过程的代码: $ctable="CREATE temporary TABLE beyond(
`mbtype` varchar(30) NOT NULL,
`mstype` varchar(30) NOT NULL,
`mname` varchar(200) NOT NULL,
`mcolor` varchar(200) NOT NULL,
`mcode` varchar(30) NOT NULL,
`cust` varchar(30) NOT NULL,
`spdp` float NOT NULL,
`souput` float NOT NULL,
`sback` float NOT NULL,
`sbeyond` float NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=gb2312";
$conn=mysql_connect("localhost","root","",1,131072)or die("数据库连接失败:".mysql_error());
mysql_select_db("test",$conn)or die("The database is not connect!".mysql_error());
mysql_query($ctable,$conn);$insert="insert into beyond value(1,2,3,4,5,6,7,8,9,10)";
mysql_query($insert,$conn);
$insert="insert into beyond value(11,22,33,44,55,66,77,88,99,1010)";
mysql_query($insert,$conn);
$sql="select mbtype,mstype,mname,mcolor,mcode,cust,spdp,souput,sback,sbeyond from beyond where (1=1)";
$result=mysql_query($sql,$conn);
echo mysql_num_rows($result).'<br />';//这里报SQL没有资源的错误,也就是说临时表里没数据
$result=mysql_query("call UpdateMcode('LTSP0000008','皮','牛皮','0035牛皮','黑','','SF')");
echo mysql_num_rows($result).'<br />';执行结果都是2,2,在mysql的test数据库中建了个test表,随便插入了两条数据。应该没问题的。