MySQL functions have been deprecated due to their outdated architecture, lack of security features, and global state dependencies. PDO (PHP Data Objects) provides a modern, secure, object-oriented alternative for database operations.
MySQL:
$dsn = 'mysql:dbname=databasename;host=127.0.0.1'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password);
MSSQL:
$dsn = 'sqlsrv:Server=127.0.0.1;Database=databasename'; $user = 'dbuser'; $password = 'dbpass'; $dbh = new PDO($dsn, $user, $password);
PDO uses prepared statements to prevent SQL injection.
Use named variables:
$SQL = 'SELECT ID, EMAIL FROM users WHERE user=:username'; $stmt = $dbh->prepare($SQL); $stmt->execute(['username' => $username]);
Use index variables:
$SQL = 'SELECT ID, EMAIL FROM users WHERE user=?'; $stmt = $dbh->prepare($SQL); $stmt->execute([$username]);
Use fetchAll:
$rows = $stmt->fetchAll();
Use fetch:
while ($row = $stmt->fetch()) { echo $row['ID'], $row['EMAIL']; }
The above is the detailed content of MySQL Functions to PDO: A Secure and Modern Approach?. For more information, please follow other related articles on the PHP Chinese website!