$linvo = new PHPer();
管理 给我的留言
-
linvo 留言于2008-04-12 00:22:45
- 46行的错误是因为44行引起的;
44行的错误是因为43行引起的;
43行得到的$result变量不是个有效的mysql资源,所以导致44行错误;
语法没有错误,应该是查询的问题,所以你需要检查下该函数的参数$sql具体是什么(你没有给出),是不是在数据库中没有查到?
-
Guest 留言于2008-04-11 23:16:33
- 我是新手,遇上了麻烦问题请多多指教:
<?php
$mysql_server_name = "localhost";
$mysql_user_name = "root";
$mysql_user_password = "";
$mysql_database = "ssgl";
function insert_sql($sql)
{
global $mysql_server_name,$mysql_user_name,$mysql_user_password,$mysql_database;
$conn = mysql_connect($mysql_server_name,$mysql_user_name,$mysql_user_password);
mysql_select_db($mysql_database,$conn);
$result = mysql_query($sql);
$id = mysql_insert_id();
mysql_close($conn);
return $id;
}
function delete_sql($sql)
{
global $mysql_server_name,$mysql_user_name,$mysql_user_password,$mysql_database;
$conn = mysql_connect($mysql_server_name,$mysql_user_name,$mysql_user_password);
mysql_select_db($mysql_database,$conn);
$result = mysql_query($sql);
// $id = mysql_insert_id();
mysql_close($conn);
return true;
}
function update_sql($sql)
{
global $mysql_server_name,$mysql_user_name,$mysql_user_password,$mysql_database;
$conn = mysql_connect($mysql_server_name,$mysql_user_name,$mysql_user_password);
$result = mysql_db_query($mysql_database,$sql,$conn);
mysql_close($conn);
return 1;
}
function select_sql($sql)
{
global $mysql_server_name,$mysql_user_name,$mysql_user_password,$mysql_database;
$conn = mysql_connect($mysql_server_name,$mysql_user_name,$mysql_user_password);
$result = mysql_db_query($mysql_database,$sql,$conn);
44.while($row = mysql_fetch_row($result))
$array[] = $row;
46. mysql_free_result($result);
return $array;
}
function format($sql)
{
$sql = nl2br($sql);
$sql = str_replace(" "," ",$sql);
$sql = nl2br($sql);
return $sql;
}
/*/============作用范例========================
$str="这个字符好长呀,^_^";
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...
Echo "$Short_Str";
//============作用范例========================*/
Function csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0) //string substr(string string, int start, int [length]),取部份字符串
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}
return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什么结尾,修改这里就可以.
return $tempstr;
}
//数据加密函数
function myEncrypt($string)
{
$key = "ssgl";
for($i=0;$i<strlen($string);$i++)
{
for($j=0;$j<strlen($key);$j++)
{
$string[$i] = $string[$i]^$key[$j];
}
}
return $string;
}
//数据解密函数
function myDecrypt($string)
{
$key = "ssgl";
for($i=0;$i<strlen($string);$i++)
{
for($j=0;$j<strlen($key);$j++)
{
$string[$i] = $key[$j]^$string[$i];
}
}
return $string;
}
function check_email($email)
{
}
//$str = "这个字符串真的好长好长!!!";
//echo pick_up_str("真是太长了~!这个字符串真的好长好长!",50);
function pick_up_str($str,$len)//从字符串$str的第一个字符起取出$len个字符,并返回所取出的字符
{
$len = $len;
$str_len = strlen($str);
if($str_len>=$len-4)//判断字符$str的长度是否大于等于$len,减4是因为要在所要提取后返回的字符后加“……”
$str = substr($str,0,$len-4);
$str = $str."……";
return $str;
}
?>
出错信息如下:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in d:\appserv\www\ssgl\include\sql.php on line 44
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in d:\appserv\www\ssgl\include\sql.php on line 46
数据库为空
注:文中的44行和46行,本人已经标记
