Tuesday, May 30, 2023

A cheat sheet for using PHP's PDO extension to interact with a MySQL database:

 Establishing a Connection:

$host = 'localhost';

$db = 'database_name';

$user = 'username';

$password = 'password';


try {

    $dsn = "mysql:host=$host;dbname=$db;charset=utf8mb4";

    $pdo = new PDO($dsn, $user, $password);

    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    echo "Connected successfully";

} catch(PDOException $e) {

    echo "Connection failed: " . $e->getMessage();

}



Executing a Query:


$sql = "SELECT * FROM table_name";

$stmt = $pdo->query($sql);


while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    // Access row data using $row['column_name']

    echo $row['column_name'];

}



Preparing and Executing a Parameterized Query:


$sql = "SELECT * FROM table_name WHERE column_name = :value";

$stmt = $pdo->prepare($sql);

$stmt->bindParam(':value', $value);

$stmt->execute();


while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {

    // Access row data using $row['column_name']

    echo $row['column_name'];

}




Inserting Data:


$sql = "INSERT INTO table_name (column1, column2, column3) VALUES (:value1, :value2, :value3)";

$stmt = $pdo->prepare($sql);

$stmt->bindParam(':value1', $value1);

$stmt->bindParam(':value2', $value2);

$stmt->bindParam(':value3', $value3);

$stmt->execute();




Updating Data:


$sql = "UPDATE table_name SET column1 = :value1 WHERE id = :id";

$stmt = $pdo->prepare($sql);

$stmt->bindParam(':value1', $value1);

$stmt->bindParam(':id', $id);

$stmt->execute();



Deleting Data:


$sql = "DELETE FROM table_name WHERE id = :id";

$stmt = $pdo->prepare($sql);

$stmt->bindParam(':id', $id);

$stmt->execute();




Transaction:

try {

    $pdo->beginTransaction();


    // Perform multiple queries or operations here


    $pdo->commit();

} catch (PDOException $e) {

    $pdo->rollBack();

    echo "Transaction failed: " . $e->getMessage();

}



Closing the Connection:



$pdo = null;




This cheat sheet covers the basic operations using PDO in PHP for MySQL databases. Remember to replace localhost, database_name, username, and password with your actual database credentials.


0 comments:

Post a Comment

Popular Posts

Pages