我有这个查询,我用它来更新表,问题是我这个错误:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'emri='Albana', klienti='Distribrands', telefoni='0662080090', montim='Kompjut' at line 1
我在这里找不到错误..这很奇怪...... 请帮我解决一下这个。 这是一个更新查询! 查询:
$sqlStart="UPDATE forma SET ";
$sql="";
if ($postDyqani_pergjegjes!= 'undefined') $sql .= " dyqani_pergjegjes='$postDyqani_pergjegjes',";
if ($postEmri!= 'undefined') $sql .= " emri='$postEmri',";
if ($postKlienti!= 'undefined') $sql .= " klienti='$postKlienti',";
if ($postTelefoni!= 'undefined') $sql .= " telefoni='$postTelefoni',";
if ($postMontim!= 'undefined') $sql .= " montim='$postMontim',";
if ($postAdresa!= 'undefined') $sql .= " adresa='$postAdresa',";
if ($postData_e_shitjes!= 'undefined') $sql .= " data_e_shitjes='$postData_e_shitjes',";
if ($postDifekti!= 'undefined') $sql .= " difekti='$postDifekti',";
if ($postTekniku_emer!= 'undefined') $sql .= " tekniku_emer='$postTekniku_emer',";
if ($postTekniku_mesazh!= 'undefined') $sql .= " tekniku_mesazh='$postTekniku_mesazh',";
if ($postData_fillim!= 'undefined') $sql .= " data_fillim='$postData_fillim',";
if ($postData_mbarim!= 'undefined') $sql .= " data_mbarim='$postData_mbarim',";
if ($postData!= 'undefined') $sql .= " data='$postData',";
if ($postStatus!= 'undefined') $sql .= " status='$postStatus',";
// replace the last `,` for `;`
if ($sql != "") {
// replace the last `,` for `;`
$sql = substr($sql, 0, -1) . ";";
// run sql command
$sqlCommand = $sqlStart.$sql;
$result=mysql_query($sql) or die(mysql_error()) ;
} else {
// no fields to update
}
由于
答案 0 :(得分:3)
您的问题是您正在执行$sql
,这只是查询的一半。完整查询位于$sqlCommand
中,因此请执行:
$result=mysql_query($sqlCommand) or die(mysql_error()) ;
附注:您应确保为单引号转义变量(请参阅mysql_real_escape_string()
)。不推荐使用mysql_*
库,因此建议迁移到PDO或MySQLi。
答案 1 :(得分:0)
请写$ sqlCommand代替$ sql,因为最终查询在此变量中。