-1

PHPでボードを作るのに手こずりました 書き直しの一部です。このエラーが発生しました

SQL 構文にエラーがあります。1行目のnear 'and password='''を使用する正しい構文については、MySQLサーバーのバージョンに対応するマニュアルを確認してください。

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

4 に答える 4

2

name代わりに電話する必要があると思いますnumber

代わりに以下のクエリを使用してください

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

失敗したクエリを実行する前に出力してみてください。この場合、$number 変数が設定されていないように見えるため、誤ったクエリが生成されます。

于 2013-06-06T04:20:12.000 に答える
0

上記の回答で問題が解決する可能性があるため、実際には回答ではありませんが、準備されたステートメントをサポートするMYSQLI APIを実際に使用する必要があります

于 2013-06-06T05:47:19.190 に答える