सबसे पहले, मुझे यह कहने की ज़रूरत है कि मैं PHP, mysqli पर भिखारी हूं, लेकिन मैं सीखना चाहता हूं। मैं एक प्रश्नोत्तरी स्क्रिप्ट बनाने की कोशिश कर रहा हूं जो डेटाबेस में "स्कोर" जानकारी स्टोर करता है।

मेरे पास निम्नलिखित "अंतिम.php" पृष्ठ स्क्रिप्ट है, जो डेटाबेस में एकत्रित और सम्मिलित करती है, उपयोगकर्ता का वर्तमान स्कोर। मुझे जो चाहिए वह यह है कि मैं डेटाबेस से वर्तमान स्कोर रखना चाहता हूं "उदाहरण: 213", और वर्तमान सत्र स्कोर के साथ वृद्धि "उदाहरण: 10" होगी, इसलिए उसके बाद कुल स्कोर "213 (पुराना) + 10 ( वर्तमान) = 223 (कुल)

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE users SET scor='".$_SESSION['score']."' WHERE id=2";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

उस कोड के साथ सब कुछ ठीक काम कर रहा है, लेकिन मुझे जो चाहिए वह स्कोर बढ़ाने के लिए है। आपके धैर्य के लिए सभी का धन्यवाद और क्योंकि आप मुझे समझते हैं कि मैं भिखारी हूं :)

php
0
David Claudiu 14 फरवरी 2019, 20:53

2 जवाब

सबसे बढ़िया उत्तर

आप अपनी राशि को इसमें जोड़कर डेटाबेस में मौजूदा मान को अपडेट कर सकते हैं। पहले स्कोर का चयन करने की कोई आवश्यकता नहीं है।

तो आपके उदाहरण में:

UPDATE users SET scor=scor + '".$_SESSION['score']."' WHERE id=2

एसक्यूएल इंजेक्शन द्वारा इसका फायदा उठाया जा सकता है, लेकिन यह सवाल के दायरे से बाहर है।

0
blahy 14 फरवरी 2019, 21:06

आप निम्नलिखित कथन का उपयोग कर सकते हैं:

$sql = "SELECT scor FROM users (UPDATE users SET scor= scor + '".$_SESSION['score']."' WHERE id=2)";
0
vetjurv4 14 फरवरी 2019, 21:09