यह एक पीडीओ-केवल विज़ुअलाइज़ेशन है, क्योंकि mysql_*
लाइब्रेरी बहिष्कृत है।
<?php
// Begin Vault (this is in a vault, not actually hard-coded)
$host="hostname";
$username="GuySmiley";
$password="thePassword";
$dbname="dbname";
$port="3306";
// End Vault
try {
$dbh = new PDO("mysql:host=$host;port=$port;dbname=$dbname;charset=utf8", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "I am connected.<br/>";
// ... continue with your code
// PDO closes connection at end of script
} catch (PDOException $e) {
echo 'PDO Exception: ' . $e->getMessage();
exit();
}
?>
ध्यान दें कि यह ओपी प्रश्न बाद में पोर्ट नंबरों के बारे में नहीं दिखाई देता है। यदि आप हमेशा 3306
के डिफ़ॉल्ट पोर्ट का उपयोग कर रहे हैं, तो इसे यूरी से हटाने पर विचार करें, यानी port=$port;
भाग को हटा दें।
यदि आप अक्सर बंदरगाहों को बदलते हैं, तो $port
चर में किए गए परिवर्तनों के साथ उपरोक्त बंदरगाह उपयोग पर विचार करें।
कुछ संभावना त्रुटियों ऊपर से लौटे:
PDO Exception: SQLSTATE[HY000] [2002] No connection could be made because the target machine actively refused it.
PDO Exception: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: No such host is known.
नीचे त्रुटि में, हम कर रहे हैं कम से कम हमारे कनेक्ट जानकारी बदलते करीब हो रही के बाद,:
PDO Exception: SQLSTATE[HY000] [1045] Access denied for user 'GuySmiley'@'localhost' (using password: YES)
आगे के परिवर्तन के बाद, हम वास्तव में अभी बंद हैं, लेकिन काफी नहीं:
PDO Exception: SQLSTATE[HY000] [1049] Unknown database 'mustard'
मैनुअल से PDO Connections पर:
यह किस प्रकार की मशीन है? यदि इसका लिनक्स जांचता है कि MySQL चल रहा है, या तो "सेवा mysqld स्थिति" या "/etc/init.d/mysqld स्थिति" रूट के रूप में। – Chris
@ क्रिस, यह विंडोज सर्वर, 2008 पर चल रहा है। – 109221793