私は、フィールドランク、名前、スコア、udid(ユニークなデバイス識別子)を持つmysqlデータベースを使って、iphoneゲーム用のシンプルなオンラインハイスコアシステムを持っています。私はudidから複数のスコアを持ちたいとは思っていません。私の質問は、古いスコアが削除され、新しいスコアが挿入されたことを確認する方法です。mysqlを使ってプレーヤーから得点を更新
スコアを挿入するための私のコードは次のとおりです。
// Insert the score
$retval = mysql_query("INSERT INTO $table(
udid,
name,
score
) VALUES (
'$udid',
'$name',
'$score'
)",$conn);
if($retval) {
echo "Inserted score $score for $name";
}
だから私は古いスコアを上書きして新しいものを挿入します。あなたの助けのための
おかげで、
乾杯、ジョー
EDIT:
私はPHPプログラマはないですので、あなたがしたい場合は、簡単な例を提供してください、事前に感謝!
$ RETVAL =するmysql_queryを動作しないことを確認してください\t名称、 \t \t \tスコア \t \t)VALUES( \t \t \t '$ UDID'、 \t \t \t '$ name' を、 \t \t \t '$スコア' \t \t))$ CONN、「UDID = $ UDID DUPLICATE KEY UPDATEスコアON ;
しかし、スコアを挿入できません。SQL構文にエラーがあります。あなたのMySQLサーバのバージョンに対応するマニュアルを調べて、正しい構文が11行目の「WHERE udid = 1111」の近くで使用するようにしてください。 – coderjoe
ほぼです。このUPDATE score = '$ score' WHERE'のような割り当てが必要です。 –
$ RETVAL =するmysql_query( "$表に挿入( \t \t \t UDID、 \t \t \t名、 \t \t \tが \t \t)VALUES( \t \t \t '$ UDID'、 \t \t \t」をスコア$ name '、 \t \t \t' $ score ' \t \t)DUPLICATE KEY UPDATEスコア= '$ score' WHERE udid = '$ udid' "、$ conn);与える:右の構文は、 'WHERE' 1111 '' 11行目近くで使用する – coderjoe