PDO Crud
Certainly! Here's an example of CRUD operations using PDO in C:
#include <stdio.h>
#include <stdlib.h>
#include <mysql/mysql.h>
int main() {
MYSQL *conn;
MYSQL_RES *res;
MYSQL_ROW row;
conn = mysql_init(NULL);
if (!mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0)) {
fprintf(stderr, "%s\n", mysql_error(conn));
exit(1);
}
// Create operation
if (mysql_query(conn, "INSERT INTO table_name(column1, column2) VALUES('value1', 'value2')")) {
fprintf(stderr, "%s\n", mysql_error(conn));
} else {
printf("Inserted successfully\n");
}
// Read operation
if (mysql_query(conn, "SELECT * FROM table_name")) {
fprintf(stderr, "%s\n", mysql_error(conn));
} else {
res = mysql_store_result(conn);
while ((row = mysql_fetch_row(res)) != NULL) {
printf("%s %s\n", row[0], row[1]);
}
mysql_free_result(res);
}
// Update operation
if (mysql_query(conn, "UPDATE table_name SET column1='new_value' WHERE column2='value2'")) {
fprintf(stderr, "%s\n", mysql_error(conn));
} else {
printf("Updated successfully\n");
}
// Delete operation
if (mysql_query(conn, "DELETE FROM table_name WHERE column1='value1'")) {
fprintf(stderr, "%s\n", mysql_error(conn));
} else {
printf("Deleted successfully\n");
}
mysql_close(conn);
return 0;
}
Explanation:
- mysql_init(NULL);
: Initializes the MySQL connection.
- mysql_real_connect(conn, "localhost", "username", "password", "database", 0, NULL, 0)
: Connects to the MySQL database.
- mysql_query(conn, "INSERT INTO table_name(column1, column2) VALUES('value1', 'value2')")
: Executes an SQL INSERT query.
- mysql_query(conn, "SELECT * FROM table_name")
: Executes an SQL SELECT query.
- mysql_store_result(conn)
, mysql_fetch_row(res)
, mysql_free_result(res)
: Retrieves and handles the result of a SELECT query.
- mysql_query(conn, "UPDATE table_name SET column1='new_value' WHERE column2='value2'")
: Executes an SQL UPDATE query.
- mysql_query(conn, "DELETE FROM table_name WHERE column1='value1'")
: Executes an SQL DELETE query.
- mysql_close(conn)
: Closes the MySQL connection.