2014-10-29 54 views
-1

我有这一点PHP代码访问使用XAMPP/MySQL的数据库。我设置查询字符串,除了间距/标签外,两者看起来都完全一样,但其中一个适用,另一个不适用。在PHP应用程序中对SQL语句的格式化有什么影响?

这不起作用:

$sql = "UPDATE employees 
    SET 
    first_name = '$_GET[firstname]', 
    last_name = '$_GET[lastname]', 
    hire_date = '$_GET[hiredate]', 
    salary = '$_GET[salary]', 
    department_id = '$_GET[department]', 
    WHERE 
    employee_id = '$_GET[id]'"; 

这工作:

$sql = "UPDATE employees 
     SET 
     first_name  = '$_GET[firstname]', 
     last_name  = '$_GET[lastname]', 
     hire_date  = '$_GET[hiredate]', 
     salary   = '$_GET[salary]', 
     department_id = '$_GET[department]' 
     WHERE 
     employee_id  = '$_GET[id]'"; 

当我用碎言我得到:

你在你的SQL语法错误;检查对应于您的MySQL服务器版本的手册,以在第8行'WHERE employee_id ='104''处使用正确的语法。

任何人都可以解释为什么?

回答

4

在第一个示例中,您有一个额外的逗号。基本上你犯了一个错字。

$sql = "UPDATE employees 
SET 
first_name = '$_GET[firstname]', 
last_name = '$_GET[lastname]', 
hire_date = '$_GET[hiredate]', 
salary = '$_GET[salary]', 
department_id = '$_GET[department]', // <--- HERE 
WHERE 
employee_id = '$_GET[id]'"; 
相关问题