/*************************************************************************
**
** SQL 관련 함수 모음
**
*************************************************************************/
// DB 연결
function sql_connect($host, $user, $pass, $db=G5_MYSQL_DB)
{
global $g5;
if(function_exists('mysqli_connect') && G5_MYSQLI_USE) {
mysqli_report(MYSQLI_REPORT_OFF);
$link = mysqli_connect($host, $user, $pass, $db);
// 연결 오류 발생 시 스크립트 종료
if (mysqli_connect_errno()) {
die('Connect Error: '.mysqli_connect_error());
}
} else {
$link = mysql_connect($host, $user, $pass);
}
return $link;
}
// DB 선택
function sql_select_db($db, $connect)
{
global $g5;
if(function_exists('mysqli_select_db') && G5_MYSQLI_USE)
return @mysqli_select_db($connect, $db);
else
return @mysql_select_db($db, $connect);
}
function sql_set_charset($charset, $link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
if(function_exists('mysqli_set_charset') && G5_MYSQLI_USE)
mysqli_set_charset($link, $charset);
else
mysql_query(" set names {$charset} ", $link);
}
// mysqli_query 와 mysqli_error 를 한꺼번에 처리
// mysql connect resource 지정 - 명랑폐인님 제안
function sql_query($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
// Blind SQL Injection 취약점 해결
$sql = trim($sql);
// union의 사용을 허락하지 않습니다.
//$sql = preg_replace("#^select.*from.*union.*#i", "select 1", $sql);
//$sql = preg_replace("#^select.*from.*[\s\(]+union[\s\)]+.*#i ", "select 1", $sql);
$sql = preg_replace("#^select.*from.*([\s\(]+union[\s\)]+|/\*.*union.*\*/).*#i", "select 1", $sql);
// `information_schema` DB로의 접근을 허락하지 않습니다.
$sql = preg_replace("#^select.*from.*where.*`?information_schema`?.*#i", "select 1", $sql);
if(function_exists('mysqli_query') && G5_MYSQLI_USE) {
if ($error) {
$result = @mysqli_query($link, $sql) or die("
$sql
" . mysqli_errno($link) . " : " . mysqli_error($link) . "
error file : {$_SERVER['SCRIPT_NAME']}");
} else {
$result = @mysqli_query($link, $sql);
}
} else {
if ($error) {
$result = @mysql_query($sql, $link) or die("
$sql
" . mysql_errno() . " : " . mysql_error() . "
error file : {$_SERVER['SCRIPT_NAME']}");
} else {
$result = @mysql_query($sql, $link);
}
}
return $result;
}
// 쿼리를 실행한 후 결과값에서 한행을 얻는다.
function sql_fetch($sql, $error=G5_DISPLAY_SQL_ERROR, $link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
$result = sql_query($sql, $error, $link);
//$row = @sql_fetch_array($result) or die("
$sql
" . mysqli_errno() . " : " . mysqli_error() . "
error file : $_SERVER['SCRIPT_NAME']");
$row = sql_fetch_array($result);
return $row;
}
// 결과값에서 한행 연관배열(이름으로)로 얻는다.
function sql_fetch_array($result)
{
if(function_exists('mysqli_fetch_assoc') && G5_MYSQLI_USE)
$row = @mysqli_fetch_assoc($result);
else
$row = @mysql_fetch_assoc($result);
return $row;
}
// $result에 대한 메모리(memory)에 있는 내용을 모두 제거한다.
// sql_free_result()는 결과로부터 얻은 질의 값이 커서 많은 메모리를 사용할 염려가 있을 때 사용된다.
// 단, 결과 값은 스크립트(script) 실행부가 종료되면서 메모리에서 자동적으로 지워진다.
function sql_free_result($result)
{
if(function_exists('mysqli_free_result') && G5_MYSQLI_USE)
return mysqli_free_result($result);
else
return mysql_free_result($result);
}
function sql_password($value)
{
// mysql 4.0x 이하 버전에서는 password() 함수의 결과가 16bytes
// mysql 4.1x 이상 버전에서는 password() 함수의 결과가 41bytes
$row = sql_fetch(" select password('$value') as pass ");
return $row['pass'];
}
function sql_insert_id($link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
if(function_exists('mysqli_insert_id') && G5_MYSQLI_USE)
return mysqli_insert_id($link);
else
return mysql_insert_id($link);
}
function sql_num_rows($result){
//if(function_exists('mysqli_num_rows') && G5_MYSQLI_USE)
return @mysqli_num_rows($result);
//else
//return mysql_num_rows($result);
}
function sql_field_names($table, $link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
$columns = array();
$sql = " select * from `$table` limit 1 ";
$result = sql_query($sql, $link);
if(function_exists('mysqli_fetch_field') && G5_MYSQLI_USE) {
while($field = mysqli_fetch_field($result)) {
$columns[] = $field->name;
}
} else {
$i = 0;
$cnt = mysql_num_fields($result);
while($i < $cnt) {
$field = mysql_fetch_field($result, $i);
$columns[] = $field->name;
$i++;
}
}
return $columns;
}
function sql_error_info($link=null)
{
global $g5;
if(!$link)
$link = $g5['connect_db'];
if(function_exists('mysqli_error') && G5_MYSQLI_USE) {
return mysqli_errno($link) . ' : ' . mysqli_error($link);
} else {
return mysql_errno($link) . ' : ' . mysql_error($link);
}
}
2026 인도 첸나이 파스너 및 고정장치 산업 전시회 [FASTNEX]
2026 인도 첸나이 파스너 및 고정장치 산업 전시회 [FASTNEX]
홈 > 법인/상용 > 해외 전시회/박람회
해외 전시회/박람회
2026 인도 첸나이 파스너 및 고정장치 산업 전시회 [FASTNEX]
건축&기자재
0
2946
06.21 00:00
전시안내
개최기간 2026.06.21 ~ 2026.06.25
개최국가
인도
개최장소 BIEC(Bangalore International Exhibition Center) 인도, 벵갈루루
개최규모 17500sqm(㎡) 0.3025 평
산업분야 건축&기자재
전시품목 패스너, 나사, 너트, 볼트 등 건설 자재
ㅇ This exhibition is organized by Messe Stuttgart India Pvt. Ltd. ㅇ This Exhibiton will be held in BIEC Bangalore International Exhibition Centre. ㅇ Fastnex Conference for the 2nd edition in 2026. FASTNEX is an industry-specific event that brings together manufacturers, suppliers, distributors, and buyers involved in the fastener and bolts industry.
2026 인도 첸나이 파스너 및 고정장치 산업 전시회 [FASTNEX] 전시회 SMS 문의
ㅇ전년도 참가국 수 : 18개 이상 / 참가업체 수 : 200개 사 / 전체 참관객 수 : 15,000명 ㅇ이외 참가성과 정보(주요 참가국 등) 주최측 미공개
최근 년도별 참가국수, 참가업체수(전체), 참가업체수(외국)
년도
참가국수
참가업체수(전체)
참가업체수(외국)
2025
0
0
0
2024
0
0
0
2023
0
0
0
최근 년도별 참가객수(단위:백명)
년도
참가객수(단위:백명)
2025
0.0
2024
0.0
2023
0.0
본 전시회는 주최측의 사정에 따라 개최일자 또는 개최여부가 변경 될 수 있으므로 전시회 참가 및 참관전에 반드시 주최자에게 사전 문의 를 하시기 바랍니다. KOTRA 및 클럽리치투어 주식회사는 글로벌 전시포털에 기재된 정보로 인한 직,간접적인 피해에 대해 책임지지 않음 을 알려 드립니다.
건축&기자재
1544.6480
월-금 : 9:30 ~ 17:30
토/일/공휴일 휴무
런치타임 : 12:30 ~ 13:30
Powered by KOTRA