-1

我在用 PHP 制作板时遇到了麻烦这是修改写作的一部分。我收到了这个错误

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

我检查了两个多小时并在溢出中搜索其他评论,但我无法弄清楚。你们能帮我解决吗?

    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';
    }
4

4 回答 4

2

我想你需要打电话name而不是number

改用下面的查询

select `number` from $tablename where name='$name' and password='$password'
于 2013-06-06T04:22:16.380 回答
1

您尚未定义名为 的变量$number,因此您的 SQL 如下所示:

select number from writing where number= and password='password'
于 2013-06-06T04:18:09.023 回答
1

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

于 2013-06-06T04:20:12.000 回答
0

不是真正的答案,因为上述答案可能会解决您的问题,但您应该真正使用支持准备好的语句的MYSQLI API

于 2013-06-06T05:47:19.190 回答