您的SQL语法有错误......?

时间:2014-10-24 06:32:44

标签: php mysql

//任何人都可以告诉我下面的SQL查询中的错误在哪里。

$sql = "insert into $table ($columns) values ($values)";

/它给了我这个错误

  

您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册>以获得正确的语法,以便在附近使用')'在第1行

2 个答案:

答案 0 :(得分:1)

您必须检查$columns$values变量中是否没有起始和结尾的逗号。 另外,为了确保在单独的列和值周围添加适当的引号。

public function insert($data, $table) { 
$columns = ""; 
$values = ""; 

foreach ($data as $column=>$value) 
{
     $columns .= "`" . $column . "`, ";
     $values .=  "'" . $value . "', ";
 }

 $columns = substr($columns, 0, strlen($columns)-2);
 $values = substr($values, 0, strlen($values)-2);
 $sql = "insert into ".$table." (".$columns.") values (".$values.")"; mysql_query($sql) or die (mysql_error()); return mysql_insert_id(); }

答案 1 :(得分:0)

对MYSQL保留字使用`反引号。您的查询应如下所示。

$sql = "insert into `$table` (`$columns`) values (`$values`)";