0

我有这个小功能可以连接到 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!");

我的代码有什么问题?谢谢

4

3 回答 3

2

包含其他文件时,请始终使用 include_once 或 require_once。

于 2009-04-07T13:59:08.387 回答
1

首先,在所有代码中搜索“function connectSugarCRM()”并确保它只出现一次。如果不止一次,那是你的问题。

否则,请尝试将您的查询行更改为:

$sugarConnection = connectSugarCRM();
$ExecuteSQL = mysql_query($sqlSTR, $sugarConnection) or die ("Query Failed!");

将来,行号和完整的错误消息对于调试这些东西真的很有帮助。

于 2009-04-07T13:55:18.210 回答
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
于 2009-04-07T13:55:23.827 回答