Php कोड में mysql अद्यतन कमांड त्रुटि

मेरी PHP फ़ाइल नीचे दिए गए समेत कई डेटाबेस क्रियाएं करती है। हालांकि यह क्रिया SQL त्रुटि में परिणाम देती है:

"एसक्यूएलएसटीएटी [42000]: सिंटेक्स त्रुटि या उल्लंघन उल्लंघन: 1064 आपके पास है   आपके एसक्यूएल वाक्यविन्यास में त्रुटि; मैनुअल की जांच करें जो आपके अनुरूप है   '10: 07: 28 के पास उपयोग करने के लिए सही वाक्यविन्यास के लिए MySQL सर्वर संस्करण   id = 11 'लाइन 1 पर'

The PHP debugger shows the $sqlquery value: "UPDATE AGREEMENTS SET approval=2013-11-22 10:07:28 WHERE id=11 "

PHP कोड में कुछ अन्य SQL अद्यतन आदेशों में सटीक समान वाक्यविन्यास होता है और सही तरीके से निष्पादित किया जाता है (लेकिन दिनांक चर शामिल नहीं है)। मुझे संदेह है कि समस्या दिनांक प्रारूप से संबंधित है, लेकिन मुझे नहीं पता कि यह कैसे ठीक करें (?)

PHP कोड:

$currentdate = date("Y-m-d H:i:s"); 

$sqlquery ="UPDATE AGREEMENTS "
                    . "SET approval=".$currentdate." "
                    . "WHERE id=".$agreementids[$i]." ";

$db->UpdateDBRecord($sqlquery);
2
जोड़ा संपादित
विचारों: 1
आपने असंतुलित उद्धरणों का उपयोग किया है, कृपया उन्हें जांचें .... भी, आपने स्ट्रिंग को क्यों समेकित किया है जिसकी आवश्यकता नहीं थी .... 'अनुबंध "।" सेट "
जोड़ा लेखक NoobEditor, स्रोत
कोट्स में दिनांक मूल्य संलग्न करने का प्रयास करें
जोड़ा लेखक Aziz Shaikh, स्रोत

3 उत्तर

इसे इस्तेमाल करे:

$sqlquery ='"UPDATE AGREEMENTS SET approval="'.$currentdate.'" WHERE id="'.$agreementids[$i].'""';
0
जोड़ा
हाँ, यह संतुलित है ..
जोड़ा लेखक Jenz, स्रोत
उद्धरण आपके एसक्यूएल में संतुलित हैं, मेरा मतलब है अंत में डबल उद्धरण ????
जोड़ा लेखक NoobEditor, स्रोत

incorrect use of double quotes in the end of query and not using single quote for comparing the dates, your sql query should be

$sqlquery ="UPDATE AGREEMENTS SET approval='".$currentdate."' WHERE id='".$agreementids[$i]."'";
0
जोड़ा

तिथि चर के चारों ओर एकल qoutes जोड़ें

$sqlquery ="UPDATE AGREEMENTS "
                . "SET approval='".$currentdate."' "
                . "WHERE id=".$agreementids[$i]." ";
0
जोड़ा
हाँ, यह काम करता है, धन्यवाद (सभी)!
जोड़ा लेखक Joppo, स्रोत