我有这个小功能连接到MySQL数据库:
function connectSugarCRM()
{
$connectorSugarCRM = mysql_connect ("localhost", "123", "123")
or die ("Connection failed");
mysql_select_db("sugar5") or die ("Failed attempt to connect to database");
return $connectorSugarCRM;
}
然后,为了运行查询,我正在做这样的事情,但我总是得到一个“PHP致命错误:无法重新声明connectSugarCRM()(之前在...中声明”,这指向我的定义函数“connectSugarCRM”(第1行)。
$ExecuteSQL = mysql_query ($sqlSTR, connectSugarCRM()) or die ("Query Failed!");
我的代码出了什么问题? 感谢
答案 0 :(得分:2)
包含其他文件时,请始终使用include_once或require_once。
答案 1 :(得分:1)
首先,搜索所有代码中的'function connectSugarCRM()'并确保它只出现一次。如果它不止一次,那就是你的问题。
否则,请尝试将查询行更改为:
$sugarConnection = connectSugarCRM();
$ExecuteSQL = mysql_query($sqlSTR, $sugarConnection) or die ("Query Failed!");
将来,行号和完整错误消息对于调试这些内容非常有用。
答案 2 :(得分:1)
检查代码是否有递归包含。
包含connectSugarCRM()
的模块似乎包含两次:
<?php
function connectSugarCRM()
{
$connectorSugarCRM = mysql_connect ("myserver", "myname", "mypass") or die ("Connection failed\n");
mysql_select_db("test") or die ("Failed attempt to connect to database\n");
return $connectorSugarCRM;
}
function connectSugarCRM()
{
$connectorSugarCRM = mysql_connect ("myserver", "myname", "mypass") or die ("Connection failed\n");
mysql_select_db("test") or die ("Failed attempt to connect to database\n");
return $connectorSugarCRM;
}
$ExecuteSQL = mysql_query ("SELECT 1", connectSugarCRM()) or die ("Query Failed!\n");
?>
[~]# php test.php
PHP Fatal error: Cannot redeclare connectsugarcrm() (previously declared in /root/test/sugar/test.php:4) in /root/test/sugar/test.php on line 14