$linvo = new PHPer();

管理 给我的留言

Linvo's Blog 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行,本人已经标记
给 linvo 留言

  

(可选)

数据统计

  • 访问量: 3495
  • 日志数: 22
  • 图片数: 1
  • 建立时间: 2008-01-02
  • 更新时间: 2008-04-15

RSS订阅

Open Toolbar