Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

पीडीओ ने डेटा की एक पंक्ति को हटाने से इंकार कर दिया (विशिष्ट तालिका में)

PDO::exec() फ़ंक्शन प्रभावित पंक्तियों की संख्या लौटाता है, यदि कोई पंक्तियाँ प्रभावित नहीं होती हैं तो 0 सहित।

इस तरह की एक लाइन die() होगी क्योंकि exec लौटाएगा 0 जिसे बूलियन असत्य के रूप में व्याख्यायित किया जाता है।

$dblink->exec("UPDATE `sometable` SET `somecolumn`=0 WHERE `somecolumn`=0") or die("Never use die for error handling.");

पीडीओ के लिए सबसे अच्छा त्रुटि प्रबंधन अभ्यास पीडीओ अपवादों का उपयोग करना है। PDO अपवाद सक्षम करें (PDOException वर्ग के, दस्तावेज़ देखें) इस तरह:

//enable Exception mode (uncaught exceptions work just like die() with the benefit of giving you details in logs of where execution was stopped and for what reason)
$pdoDBHandle->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

or die() और exit(); और अपवाद मोड सक्षम करें। मुझे यकीन है कि यह आपकी "अजीब" समस्या को ठीक कर देगा। PHP में अपवादों को फेंकने पर भी एक नज़र डालें, यहां तक ​​कि प्रक्रियात्मक कोड के साथ (die() को बदलने के लिए) और exit() .

बीटीडब्ल्यू exit die . की तरह ही निष्पादन को रोकता है , सिवाय इसके कि यह सीएलआई मोड में उपयोगी है क्योंकि यह ऑपरेटिंग सिस्टम को एक सफलता/त्रुटि कोड देता है। यह वास्तव में त्रुटि प्रबंधन के लिए नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MAX () - MySQL में एक कॉलम में अधिकतम मान का पता लगाएं

  2. CentOS 6 पर phpMyAdmin को कैसे स्थापित और कॉन्फ़िगर करें?

  3. सिंटैक्स त्रुटि:'सीमांकक' यहाँ मान्य इनपुट नहीं है

  4. MyIsam इंजन लेनदेन समर्थन

  5. php (अस्पष्ट) खोज मिलान