示例#1
0
 function db_connect(&$db_result, $object, $db_name = "")
 {
     //dev/live
     global $flag;
     global $g_db_info;
     $dbConfig = new dbConfig();
     $db_host = $dbConfig::DB_HOST;
     if ($db_name == "") {
         $db_name = $dbConfig::DB_DATABASE_01;
     }
     $db_con_array = $dbConfig->getDBconnection();
     if (array_key_exists($db_name, $db_con_array)) {
         $db_user = $db_con_array[$db_name]['username'];
         $db_password = $db_con_array[$db_name]['password'];
     }
     $db_result = mysqli_connect($db_host, $db_user, $db_password, $db_name);
     if (!$db_result) {
         die('Could not connect: ' . mysqli_connect_error());
         //mail to admin@pbmarketing.ca
         $to = "*****@*****.**";
         $subject = "The form in " . $_SERVER['SERVER_NAME'] . " Is Broken";
         $message = "\n\t\t\t<html>\n\t\t\t<head>\n\t\t\t<title>" . $subject . "</title>\n\t\t\t</head>\n\t\t\t<body>\n\t\t\t<p>The registration form has lost the database connection. Please check and resolve the issue.</p>\n\t\t\t<p>Regards,<br>PB marketing Support</p>\n\t\t\t</body>\n\t\t\t</html>\n\t\t\t";
         // Always set content-type when sending HTML email
         $headers = "MIME-Version: 1.0" . "\r\n";
         $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";
         // More headers
         $headers .= 'From: <*****@*****.**>' . "\r\n";
         $headers .= 'Cc: admin@pbmarketing.ca' . "\r\n";
         mail($to, $subject, $message, $headers);
     }
     if (is_array($object)) {
         // array of object
         $count = 0;
         $table_name = array();
         $table = array();
         foreach ($object as $obj_key => $obj_val) {
             if (is_array($g_db_info) && !array_key_exists($obj_key, $g_db_info) || !$g_db_info) {
                 $table_name[$count] = $obj_key;
                 if ($flag == "live") {
                     $table[$count] = $obj_key;
                 } elseif ($flag == "dev") {
                     $table[$count] = $obj_key . "_debug";
                 }
                 $count++;
             }
         }
         //end of foreach
         $n = count($table);
         for ($i = 0; $i < $n; $i++) {
             $sql = "SHOW COLUMNS FROM " . $db_name . "." . $table[$i];
             $result = mysqli_query($db_result, $sql);
             $num = mysqli_num_rows($result);
             $field_name = array();
             $t = 0;
             while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
                 $field_name[$t] = $row['Field'];
                 $t++;
             }
             $g_db_info[$table_name[$i]] = array('no' => $num, 'name' => $field_name, 'table' => $table[$i]);
         }
         //end of for loop
     } else {
         // object - not array
         $table_name = $object;
         if ($flag == "live") {
             $table = $object;
         } elseif ($flag == "dev") {
             $table = $object . "_debug";
         }
         $sql = "SHOW COLUMNS FROM " . $db_name . "." . $table;
         $result = mysqli_query($db_result, $sql);
         $num = mysqli_num_rows($result);
         $field_name = array();
         $t = 0;
         while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
             $field_name[$t] = $row['Field'];
             $t++;
         }
         $g_db_info[$table_name] = array('no' => $num, 'name' => $field_name, 'table' => $table);
     }
     return true;
 }