कृपया वैरिएबल को SQL स्ट्रिंग्स में इंटरपोल करने के बजाय क्वेरी पैरामीटर का उपयोग करें।
यह अधिक सुरक्षित, तेज़ और आसान है।
$temp = "6c ";
$weather_report = "It's currently $temp " ;
$sql = "UPDATE data_weather SET text= ? WHERE period='report'";
$stmt = $pdo->prepare($sql);
$stmt->execute(array($weather_report));
ध्यान दें कि आपको स्ट्रिंग को उद्धृत करने की आवश्यकता नहीं है। वास्तव में, आपको नहीं करना चाहिए ?
. के आस-पास कोट्स लगाएं प्लेसहोल्डर आप अपने मौसम रिपोर्ट स्ट्रिंग के अंदर सुरक्षित रूप से एपॉस्ट्रॉफ़ का उपयोग कर सकते हैं।
आप किसी भी स्थान पर पैरामीटर प्लेसहोल्डर का उपयोग कर सकते हैं जिसे आप सामान्य रूप से SQL अभिव्यक्ति में एकल स्केलर मान रखेंगे। उदा. एक उद्धृत स्ट्रिंग, उद्धृत तिथि, या संख्यात्मक शाब्दिक के स्थान पर। लेकिन टेबल नामों या कॉलम नामों, या मानों की सूचियों, या SQL कीवर्ड के लिए नहीं।