我创建了一个自定义函数,但是我收到了这个错误。我不认为我的脚本中存在“解析错误”。
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语句中使用变量。
答案 0 :(得分:6)
变量应该有$
前缀。所以
function checkDBDuplicate(tableName, dbFieldName, variableName) {
错了,搞定
function checkDBDuplicate($tableName, $dbFieldName, $variableName) {
显然,进一步如此,所以:
$tableName = tableName;
$dbFieldName = dbFieldName;
$variableName = variableName;
需要相同的治疗
答案 1 :(得分:3)
function checkDBDuplicate(tableName, dbFieldName, variableName) {
应该是
function checkDBDuplicate($tableName, $dbFieldName, $variableName) {
并在函数体内:
$tableName = $tableName;
$dbFieldName = $dbFieldName;
$variableName = $variableName;
答案 2 :(得分: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;
}
?>
答案 3 :(得分: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;
}
?>