1

このコードを実行し続け、何を変更しても同じエラーが発生します。

require('common.php');
$charname = $_SESSION['user']['username'];
$query = "SELECT group, guild, username, class, level 
      FROM DD_users 
      WHERE username = '".$charname."'";
try
{
// These two statements run the query against your database table.
$stmt = $db->prepare($query);
$stmt->execute();
}
catch(PDOException $ex)
{
// Note: On a production website, you should not output $ex->getMessage().
// It may provide an attacker with helpful information about your code. 
die("Failed to run query: " . $ex->getMessage());
}

// Finally, we can retrieve all of the found rows into an array using fetchAll
$rows = $stmt->fetchAll();

//print_r($rows);
$group = $rows['0']['adminaccess'];
$guild = $rows['0']['guild'];
$username = $rows['0']['username'];
$class = $rows['0']['class'];
$level = $rows['0']['level'];

このエラーが返されます。これ
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'group, guild, username, class, level FROM DD_users ' at line 1 を編集するには、さらにテキストが必要なようです...

4

4 に答える 4

5

キャラクターを忘れました':

$query = "SELECT group, guild, username, class, level 
          FROM DD_users 
          WHERE username = '".$charname."'";
于 2012-12-22T20:45:00.903 に答える
4

これを試して:

$query = "SELECT group, guild, username, class, level FROM DD_users WHERE username = '".$charname."'";

追加の引用符に注意してください'。文字列をクエリする場合は必須です。

また:group予約済みのキーワードである可能性があります。`-style quotes または .brackets でそれをエスケープする必要があります[。どちらが機能するか試してください

于 2012-12-22T20:34:37.210 に答える
3

group キーワードが予約されていることを確認し、バッククォートで囲みます `

于 2012-12-22T20:35:24.913 に答える