0

カスタム関数を作成しましたが、このエラーが発生します。スクリプトに「解析エラー」があるとは思いません。

Parse error: syntax error, unexpected ',', expecting '&' or T_VARIABLE in C:\wamp\www\web template\test.php on line 8

<?php
require('global script/php/dbConnect.php');

$varName = 'sd';

echo checkDBDuplicate('account_list', 'memberID', $varName);

function checkDBDuplicate(tableName, dbFieldName, variableName) 
{
    $tableName = tableName;
    $dbFieldName = dbFieldName;
    $variableName = variableName;

    $searchDuplicate = mysql_query('
        SELECT $dbFieldName
        FROM $tableName
        WHERE $dbFieldName = $variableName
        ') or die(mysql_error());
    $countRow = mysql_num_rows($searchDuplicate);

    return $countRow;
}
?>

このスクリプトの目的は、SELECTステートメントで変数を使用できるかどうかをテストすることです。

4

4 に答える 4

6

変数には$接頭辞を付ける必要があります。それで

function checkDBDuplicate(tableName, dbFieldName, variableName) {

間違っている、それを作る

function checkDBDuplicate($tableName, $dbFieldName, $variableName) {

明らかに、さらに同じことが当てはまります。

$tableName = tableName;
$dbFieldName = dbFieldName;
$variableName = variableName;

同じ治療が必要です

于 2012-04-05T12:38:09.057 に答える
3
function checkDBDuplicate(tableName, dbFieldName, variableName) {

する必要があります

function checkDBDuplicate($tableName, $dbFieldName, $variableName) {

関数本体をisideします。

$tableName = $tableName;
$dbFieldName = $dbFieldName;
$variableName = $variableName;
于 2012-04-05T12:39:05.273 に答える
1

関数は次のようになります。

<?php
require('global script/php/dbConnect.php');

$varName = 'sd';

echo checkDBDuplicate('account_list', 'memberID', $varName);

function checkDBDuplicate($tableName, $dbFieldName, $variableName) {
     $tableName = $tableName;
     $dbFieldName = $dbFieldName;
     $variableName = $variableName;
     $searchDuplicate = mysql_query("
     SELECT $dbFieldName
     FROM $tableName
     WHERE $dbFieldName = $variableName
     ") or die(mysql_error());
     $countRow = mysql_num_rows($searchDuplicate);
     return $countRow;
}
?>
于 2012-04-05T12:40:06.733 に答える
0

変数を再度割り当てる必要はありません!!!

また、一部の'と`にはSQLクエリがありません。

<?php
require('global script/php/dbConnect.php');

$varName = 'sd';

echo checkDBDuplicate('account_list', 'memberID', $varName);

function checkDBDuplicate($tableName, $dbFieldName, $variableName) {

     $searchDuplicate = mysql_query("
                        SELECT `$dbFieldName`
                       FROM `$tableName`
                      WHERE `$dbFieldName` = '$variableName'
                      ") or die(mysql_error());
     $countRow = mysql_num_rows($searchDuplicate);
     return $countRow;
}
?>
于 2012-04-05T12:53:10.760 に答える