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 Fatal error: Cannot redeclare connectSugarCRM() (previously defined in ...)」というメッセージが表示され、関数「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()」を検索し、それが1回だけ表示されることを確認します。それが複数回ある場合、それはあなたの問題です。

それ以外の場合は、クエリ行を次のように変更してみてください。

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

そして将来的には、行番号と完全なエラーメッセージがこのようなものをデバッグするのに本当に役立ちます。

于 2009-04-07T13:55:18.210 に答える
1

コードで再帰的なインクルードを確認してください。

を含むモジュールはconnectSugarCRM()2回含まれているようです。

<?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 に答える