Эй, я столкнулся с небольшой проблемой в моем приложении SQL/PHP/JAVA. Я надеюсь, что вы, ребята, можете помочь :) У меня есть приложение Java, которое при запуске связано с моим сайтом, когда приложение Java подтверждает, что он работает с моим сайтом, и мой сайт назначает идентификатор сеанса как для приложения Java, так и для самого веб-сайта.MySQL вставить, а затем обновить данные таблицы
прохладно, мы хорошо до сих пор?
alright my java-приложение отправляет данные через регулярные промежутки времени на страницу под названием Dashboard.php, что я хотел бы сделать, это сохранить данные в моей таблице Mysql, а затем, когда новые данные будут получены Dashboard.php из моего приложения java, sessionID тот же, я хотел бы, чтобы таблица обновлялась до новых данных, которые только что были получены
вот 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";
}
}
Ive также пытались экспериментировать с ON DUPLICATE KEY UPDATE value = VALUES(value)
однако я не имел никакой удачи ли кто-нибудь есть решение? любая помощь была бы оценена
В вашем параметре у вас есть '$ ranged', но вы используете' $ range' o n: '$ v4new = $ row ['ranged'] + $ range;' – Timber
oh wow я не видел, что позволило мне изменить это и проверить его –