//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;
}
最佳答案
您的连接可能超出范围,导致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) ;
}
关于php - 找不到数据库! mysql错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7867545/