2013-06-06 137 views
-1

我用PHP制作板子时遇到了麻烦它是修改写作的一部分。 我得到这个错误附近的SQL语法错误'and password ='''

你的SQL语法错误;检查手册中 对应于你的MySQL服务器版本正确的语法在1号线

我检查了2个多小时使用 附近“和密码=”“”和溢出搜索其它评论虽然,我无法弄清楚。你们能帮我解决吗?

mysql_connect('localhost', '***', '***') or die(mysql_error()); 
    mysql_select_db('personal_info'); 

    $name = addslashes($name); 
    $password = addslashes($password); 
    $email = addslashes($email); 
    $homepage = addslashes($homepage); 
    $subject = addslashes($subject); 
    $memo = addslashes($memo); 

    $tablename = 'writing'; 
    $writetime = time(); 

    $sql = "select number from $tablename where number=$number 
      and password='$password'"; 
    $result = mysql_query($sql) or die(mysql_error()); 

    if(mysql_num_rows($result)) 
    { 
     $sql = "update $tablename set 
     name = '$name', email = '$email', homepage = '$homepage', 
     subject = '$subject', memo = '$memo' where number = $number"; 
     mysql_query($sql) or die (mysql_error()); 
     $msg = ' modify successfully'; 
    } 
+1

'$ number' ??它在哪里 – Yogus

回答

1

您还没有定义了一个名为$number变量,所以你的SQL是这样的:

select number from writing where number= and password='password' 
1

尝试打印出一个失败的查询其执行之前。在这种情况下,似乎没有设置$ number变量,因此它会产生错误的查询。

2

我想你需要调用name,而不是下面的查询number

改用

select `number` from $tablename where name='$name' and password='$password' 
0

不是一个真正的答案,上面的答案可能会解决你的问题,但你应该使用支持的MYSQLI API准备报表