ねえ、私の SQL/PHP/JAVA アプリケーションで小さな問題が発生しました。皆さんが助けてくれることを願っています :) 私は、Java アプリケーションが実行されていることを検証するときに、私の Web サイトに接続されている Java アプリケーションを持っています。私のWebサイトは、JavaアプリケーションとWebサイト自体の両方にセッションIDを割り当てます。
今のところ大丈夫ですか?
さて、私の Java アプリケーションは、Dashboard.php というページに定期的にデータを送信します。データを Mysql テーブルに保存し、セッション ID が同じ Java アプリケーションから Dashboard.php が新しいデータを受信したときに、データを保存したいと考えています。受信したばかりの新しいデータにテーブルを更新したい
これは動作しませんが、これまでに持っているphpです。
function update($script_name, $version, $runtime, $status, $ranged, $attack, $defense, $strength, $magic, $sessionID, $username)
{
global $db;
$sql = "SELECT * FROM Dashboard WHERE session_id = '$sessionID'";
try {
$results = $db->query($sql);
if ($results->rowCount() <= 0) {
$query = "INSERT INTO Dashboard (script_name, version, runtime, status, ranged, attack, defense, strength, magic, session_id, username) VALUES ('$script_name', '$version', '$runtime', '$status', '$ranged', '$attack', '$defense', '$strength', '$magic', '$sessionID', $username)";
$db->exec($query);
} else {
foreach ($results as $row) {
$timerunnew = $row['runtime'] + $runtime;
$v4new = $row['ranged'] + $range;
$v5new = $row['attack'] + $attack;
$v6new = $row['defense'] + $defense;
$v7new = $row['strength'] + $strength;
$v8new = $row['magic'] + $magic;
}
$db->exec("UPDATE Dashboard SET `runtime` = $timerunnew, `ranged` = $v4new, `attack` = $v5new, `defense` = $v6new, `strength` = $v7new, `magic` = $v8new WHERE session_id = '$sessionID'");
}
} catch (PDOException $ex) {
echo "fail";
}
}
私も試しON DUPLICATE KEY UPDATE value = VALUES(value)
てみましたが、運がなかったのですが、誰かが解決策を持っていますか? どんな助けでも大歓迎です