1

これは、MySQL 構文エラーを引き起こしているコードの小さなサンプルです。Connect.php は正しいデータベースに接続しており、他のプロジェクトやコードで使用できます。connect.php のコードが正しいことは事実として知っています。それは私にMySQL構文エラーを与えています。これ以上の詳細はありません。

SQL 構文にエラーがあります。key1 行目の「keys WHERE ='xxxxxxxxxxxx」付近で使用する正しい構文については、MySQL サーバーのバージョンに対応するマニュアルを確認してください。

この小さなコード サンプルをメイン プロジェクトから取得しましたが、それでもエラーが発生します。

<?php
    require "connect.php";          
    $keyCheck = mysql_query("SELECT * FROM keys WHERE `key`='".$_POST['betakey']."'" , $con);

    if (!$keyCheck) {
        echo mysql_error();
        exit;
    } else {
        $keyRows = mysql_num_rows($keyCheck);
    if ($keyRows == 0) {
        echo "This key is invalid!";
        exit;
    }
?>

編集:管理者にテーブルの名前を変更してもらい、潜在的なセキュリティ上の危険を修正するのを手伝ってくれました。

4

1 に答える 1

6

keysは予約語だと確信しています。いずれの場合も、データベース、テーブル、および列の名前は常にバッククォートで囲む必要があります。この例のように「時々」だけではありません。いつも。

ソース

于 2012-08-31T14:20:16.893 に答える