[英]PHP Wrong parameter count for mysql_query() - Possible Syntax Error
我已经为此战斗了一段时间,我对PHP语法不熟悉,这是我的代码:
$eventArray = array($this->ReturnLastRecordId() + 1, $managerid, $title, $description, $category, $address, $location, $startdate, $starttime, $enddate, $endtime, $price, $endofticketdate, $totalseats, $totalseats);
$sql = "INSERT INTO event (eventid, managerid, title, description, category, address, location, startdate, starttime, enddate, endtime, price, endofticketdate, totalseats, totalseats)";
$data->StoreData($eventArray, $sql);
在函数中:
public function StoreData($dataArray, $sqlquery)
{
include 'config.php';
$i = count($dataArray);
echo $i;
switch ($i) {
case 15:
mysql_query($sqlquery . "VALUES (" . '$arraydata[0]' , '$arraydata[1]', '$arraydata[2]', '$arraydata[3]', '$arraydata[4]', '$arraydata[5]', '$arraydata[6]', '$arraydata[7]', '$arraydata[8]', '$arraydata[9]', '$arraydata[10]', '$arraydata[11]', '$arraydata[12]', '$arraydata[13]', '$arraydata[14]' . ")", $con) or die (mysql_error());
mysql_close($con);
break;
}
}
显然,我已经多次检查了参数的数量,包括数据库,但仍然抛出了参数计数:(。
您没有串联SQL字符串。 您的代码传递多个单独的PHP函数参数。
最懒惰的修补程序是:
$values = implode("','", $arraydata);
mysql_query("$sqlquery VALUES ('$values')");
我建议您将mysql_query期望的整个单个字符串括在双引号中,然后在其中使用字符串插值。 避免手动操作.
级联。
您对sql查询的连接是错误的。 解决方案中的逗号不在字符串内,因此被php解释为其他参数。
应该是这样的:
mysql_query($sqlquery . " VALUES ('$arraydata[0]' , '$arraydata[1]', )
等等。
您使用了串联操作数.
在不应该使用的地方建立SQL查询时。 尝试以下操作:
public function StoreData($dataArray, $sqlquery) {
include 'config.php';
$i = count($dataArray);
echo $i;
switch ($i) {
case 15:
mysql_query($sqlquery . " VALUES ('{$arraydata[0]}', '{$arraydata[1]}', '{$arraydata[2]}', '{$arraydata[3]}', '{$arraydata[4]}', '{$arraydata[5]}', '{$arraydata[6]}', '{$arraydata[7]}', '{$arraydata[8]}', '{$arraydata[9]}', '{$arraydata[10]}', '{$arraydata[11]}', '{$arraydata[12]}', '{$arraydata[13]}', '{$arraydata[14]}')", $con) or die (mysql_error());
mysql_close($con);
break;
}
}
尝试修改此代码:
$eventArray = array(($this->ReturnLastRecordId() + 1), $managerid, $title, $description, $category, $address, $location, $startdate, $starttime, $enddate, $endtime, $price, $endofticketdate, $totalseats, $totalseats);
$sql = "INSERT INTO event (eventid, managerid, title, description, category, address, location, startdate, starttime, enddate, endtime, price, endofticketdate, totalseats, totalseats)";
$data->StoreData($eventArray, $sql);
public function StoreData($dataArray, $sqlquery)
{
include 'config.php';
$i = count($dataArray);
echo $i;
switch ($i) {
case 15:
mysql_query($sqlquery . " VALUES (" . '$arraydata[0]' , '$arraydata[1]', '$arraydata[2]', '$arraydata[3]', '$arraydata[4]', '$arraydata[5]', '$arraydata[6]', '$arraydata[7]', '$arraydata[8]', '$arraydata[9]', '$arraydata[10]', '$arraydata[11]', '$arraydata[12]', '$arraydata[13]', '$arraydata[14]' . ")", $con) or die (mysql_error());
mysql_close($con);
break;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.