我想使用php / pdo制作一个后端应用程序。我发现了很多不同的方法来进行PDO连接字符串。我想知道,使用pdo做连接字符串的最佳方法是什么。这是做连接字符串的最佳方法还是我应该使用其他一些代码。欢迎任何建议或调整!
这是我目前所拥有的:
<?php $host = "localhost"; $db = "phpcrud"; $username = "root"; $password = ""; $conn = new PDO("mysql:host=$host;dbname=$db;charset=UTF8", $username, $password, [ PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ ]); ?>
这个问题并不像看起来那么容易。我写了一个规范的示例, 如何使用PDO连接到MySQL 。
因此,让我们看一下可以改进的地方:
utf8
因此,您在这里:
$options = [ \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION, \PDO::ATTR_DEFAULT_FETCH_MODE => \PDO::FETCH_ASSOC, \PDO::ATTR_EMULATE_PREPARES => false, ]; $dsn = "mysql:host=$host;dbname=$db;charset=$charset"; try { $pdo = new \PDO($dsn, $username, $password, $options); } catch (\PDOException $e) { throw new \PDOException($e->getMessage(), (int)$e->getCode()); }
请注意,如果将此代码放在函数或类的方法中,请勿将数据库凭据作为原始参数发送,而应将它们作为数组发送或在函数内部检索它们。否则,它们将再次出现在堆栈跟踪中。