没找到数据库!! mysql错误

时间:2011-10-23 16:41:31

标签: php mysql sql

     //require_once("../StoredProcedure/connect.php");
  $conn=mysql_connect("localhost","root","") or die(mysql_error);
  mysql_select_db("politicalforum",$conn); 

 function updateThread($threadID, $content) 
 {
     mysql_query("UPDATE threads
                  SET content='$content'  
                  WHERE thread_id=$threadID") ;
    // $res = mysql_query($sql) or trigger_error(mysql_error().$sql);
     mysql_close();
 }

我每次都得到这个......我做错了什么?

  

未选择数据库。

我从外部文件中调用该函数......就像这样......

if(isset($_GET['threadID']) && isset($_POST["reply"]) && isset($_POST['textareas']))
   {

        updateThread($_GET['threadID'], $_POST['textareas']); 

       $postValid=TRUE;
   }

1 个答案:

答案 0 :(得分:3)

您的连接可能超出范围,导致mysql_query针对上下文的数据库对象运行,该对象在updateThread触发时不存在。

在这种情况下,您需要将连接传递到mysql_query内的updateThread函数。从结构上讲,有两种方法可以解决这个问题:

1)打开并关闭updateThread功能中的连接:

function updateThread($threadID, $content) 
{
   $conn=mysql_connect("localhost","root","") or die(mysql_error);
   mysql_select_db("politicalforum",$conn); 
   mysql_query("UPDATE threads
                SET content='$content'  
                WHERE thread_id=$threadID", $conn) ;
   mysql_close($conn);
   $conn = null;
}

2)将连接作为变量传递给updateThread,以防您想在其他功能中使用相同的连接。当脚本完成时,PHP将自动关闭并处理您的MySQL连接:

function updateThread($threadID, $content, $conn) 
{
   mysql_query("UPDATE threads
                SET content='$content'  
                WHERE thread_id=$threadID", $conn) ;
}
相关问题