I'm wanting to automatically create a new DB when a new customer signs up via WHMCS. I'm attempting to use a hook to achieve this:
<?php
if (!defined("WHMCS"))
die("This file cannot be accessed directly");
function createDB($vars) {
// connect to the MySQL server
$conn = new mysqli('localhost', 'user', 'pass', '', 'port');
// check connection
if (mysqli_connect_errno()) {
exit('Connect failed: '. mysqli_connect_error());
}
// sql query with CREATE DATABASE
$sql = "CREATE DATABASE `test_db` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci";
// Performs the $sql query on the server to create the database
if ($conn->query($sql) === TRUE) {
}
else {
echo 'Error: '. $conn->error; die;
}
$conn->close();
}
add_hook("AcceptOrder",1,"createDB");
Not quite sure if AcceptOrder
is the proper hook or if I should do something like AfterModuleCreate
. I've tried both but I seem to always get the following error:
Connect failed: Lost connection to MySQL server at 'handshake: reading inital communication packet', system error: 11