//任何人都可以告诉我下面的SQL查询中的错误在哪里。
$sql = "insert into $table ($columns) values ($values)";
/它给了我这个错误
您的SQL语法有错误;检查与您的MySQL服务器版本相对应的手册>以获得正确的语法,以便在附近使用')'在第1行
答案 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`)";