मैं निम्नलिखित mysql कोड के लिए अद्यतन pdo कैसे लागू करूं?

यहां मेरा MySQL कोड और समकक्ष पीडीओ कोड है, मुझे यह जानने की जरूरत है कि क्या गलत है

$id = $_POST['id'];


    $query1=mysql_query("SELECT Quantity,id FROM `yumyum`.`food` where  `food`.`id` LIKE $id");
    $r = array();

    while($r = mysql_fetch_assoc($query1)) {

        $output = $r['Quantity'];


            echo $output;
            $query2=mysql_query("UPDATE food SET Quantity = Quantity - 1 where  `food`.`id` LIKE ".$r["id"]);

पीडीओ कोड

$stmt = $db->prepare("SELECT * FROM yuymuym WHERE id=:id AND Quantity=:Quantity");
$stmt->execute(array($id, $Quantity));
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC)
0
मैं निम्नलिखित MySQL कोड के लिए अद्यतन pdo कैसे लागू करूं?
जोड़ा लेखक user3027853, स्रोत
@u_mulder प्रश्न अधिक विशिष्ट होने के लिए संशोधित किया गया
जोड़ा लेखक user3027853, स्रोत
@YourCommonSense मदद करने में कोई नुकसान नहीं है
जोड़ा लेखक user3027853, स्रोत
अपनी समस्या का वर्णन करें। कोई भी आपके कोड को मुफ्त में जांच नहीं करेगा)
जोड़ा लेखक u_mulder, स्रोत
आपको विशिष्ट होना चाहिए
जोड़ा लेखक Nizam, स्रोत

1 उत्तर

$db = new PDO('mysql:host=localhost;dbname=yumyum', 'username_here', 'password_here');
$ids = array(1,2,3,4,5);
foreach($ids as $id){
    $stmt = $db->prepare("SELECT Quantity, id FROM `food` WHERE `food`.`id` = :id");
    $stmt->bindParam(':id', $id);
    $stmt->execute();
    $row = $stmt->fetch();
    if($row){
        //uncomment to see $row content
        //var_dump($row);
        $rowId = (int)$row['id'];
        $rowQuantity = (int)$row['Quantity'];
        echo $rowQuantity;
        $ustmt = $db->prepare("UPDATE `food` SET `Quantity` = `Quantity` - 1 WHERE `food`.`id` = :id");
        $ustmt->bindParam(':id',$rowId);
        $ustmt->execute();
    }else{
        var_dump($stmt->errorInfo());
    }
}

प्रश्न (चयन, सम्मिलित, अद्यतन, बाकी सब कुछ के साथ काम करता है):

$id = (int)$_POST['id'];
$else = $_POST['string'];

// Connect to database
$db = new PDO('mysql:host=HOST_HERE;dbname=DATABASENAME_HERE', 'USERNAME_HERE', 'PASSWORD_HERE');

// First we prepare our query
$stmt = $db->prepare("... WHERE `id` = :id AND `something` = :else");

// We bind values to our prepared query
$stmt->bindParam(':id',$id);
$stmt->bindParam(':else',$else);

// We execute our query
$success = $stmt->execute();

// If we want to fetch only one row:
$row = $stmt->fetch();
echo $row['id'];

// If we want to fetch all rows:
$rows = $stmt->fetchAll();
foreach($rows as $row){
    echo $row['id'];
}

ये बहुत मूल बातें हैं, अगर आपको समझ में नहीं आता कि वास्तव में क्या हो रहा है, तो आपको कुछ और सीखना चाहिए।

0
जोड़ा
@ जॉनीस्ल्मी धन्यवाद: डी मैं कुछ चयनित पंक्तियों को कैसे प्राप्त करूं?
जोड़ा लेखक user3027853, स्रोत
आपका बहुत बहुत धन्यवाद
जोड़ा लेखक user3027853, स्रोत
मुझे यह त्रुटि मिल रही है पार्स त्रुटि: वाक्यविन्यास त्रुटि, अप्रत्याशित '' (T_ENCAPSED_AND_WHITESPACE), लाइन 38 पर पहचानकर्ता (T_STRING) या चर (T_VARIABLE) या चर (T_NUM_STRING) की उम्मीद है: \ wamp \ www \ yumyum \ reserve.php
जोड़ा लेखक user3027853, स्रोत
@JoniSalmi कृपया इसे एक और प्रयास दें
जोड़ा लेखक user3027853, स्रोत
Thanx बहुत आईएल कोशिश करो
जोड़ा लेखक user3027853, स्रोत
मुझे कुछ और त्रुटियां मिल रही हैं
जोड़ा लेखक user3027853, स्रोत
ठीक है अब कोई एरर नहीं है लेकिन अद्यतन नहीं होता है
जोड़ा लेखक user3027853, स्रोत
@ जॉनी सैल्मी मुझे कई पंक्तियों को अपडेट करने की आवश्यकता है। एकाधिक पंक्तियों की मात्रा
जोड़ा लेखक user3027853, स्रोत
आदमी को एक मछली दें - और वह एक और दिन आएगा।
जोड़ा लेखक Your Common Sense, स्रोत
और यदि आपको अभी भी यह काम नहीं मिल रहा है, तो यहां से पहले त्रुटि रेखा और रेखा पेस्ट करें।
जोड़ा लेखक Jompper, स्रोत
कोड स्वयं बहुत समझ में नहीं आता है। क्या आप एक समय में केवल एक ही उत्पाद अपडेट कर रहे हैं। क्योंकि अब यह सभी पंक्तियों को लूप करना चाहिए "चयन मात्रा, आईडी से <�कोड> yumyum । भोजन जहां भोजनid =: आईडी "क्वेरी रिटर्न। और आईडी के कारण = मुझे विश्वास है, यह केवल एक पंक्ति लौटाता है। शायद आप जो कुछ हासिल करना चाहते हैं उसे समझा सकते हैं।
जोड़ा लेखक Jompper, स्रोत
मैंने कुछ मिनट पहले अपना जवाब अपडेट किया था, "
जोड़ा लेखक Jompper, स्रोत