Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Наш чат в Telegram для обмена идеями, проектами, мыслями, людьми в сфере ИТ г.Ростова-на-Дону: @it_rostov
mysql_write_array - запись массива данных в таблицу MySQL
// функция записывает данные в таблицу
// если id нет или =0 будет добавлена запись
// функция маскирует недопустимые символы, учитывает get_magic_quotes_gpc
// если utf=true, то производится преобразование из UTF-8 в win-1251
function mysql_write_array($tbl,$arr, $utf=false){
$Columns=[];
$result=mysql_query("SHOW COLUMNS FROM `{$tbl}`");
while($col = mysql_fetch_row($result))$Columns[$col[0]]=$col[1]; // индекс - имя, значение - тип
if($utf||get_magic_quotes_gpc())
foreach ($Columns as $key => $value)
if(isset($arr[$key])){
if(strpos($value, array('char','text'))!==false){
if(get_magic_quotes_gpc())$arr[$key]=stripslashes($arr[$key]);
if($utf)$arr[$key]=trim(@iconv("UTF-8", "windows-1251//IGNORE", $arr[$key]));
}if(strpos($value, 'int')!==false)$arr[$key]=intval($arr[$key]);
elseif(strpos($value,'date')!==false)$arr[$key]=date("Y-m-d", $arr[$key]);
elseif(strpos($value,'time')!==false)$arr[$key]=date("Y-m-d H:i:s", $arr[$key]);
elseif(strpos($value,'floatval')!==false)$arr[$key]=str_replace(',','.',floatval($arr[$key]));
}
$add='';
if(isset($arr['id']) && intval($arr['id'])>0){
foreach ($Columns as $key => $value){
if($key=='id'){}
elseif(isset($arr[$key]))$add.=','.$key.'="'.$arr[$key].'"';}
if($add)$add='UPDATE IGNORE '.$tbl.' SET '.substr($add,1).' WHERE id="'.intval($arr['id']).'"';
else return false;
}else{$add1='';
foreach ($Columns as $key => $value){
if($key=='id'){}
elseif(isset($arr[$key])){
$add.=','.$key;
$add1.=',"'.$arr[$key].'"';}
}
if($add)$add='INSERT INTO '.$tbl.' ('.substr($add,1).') VALUES ('.substr($add1,1).')';
else return false;
}
echo $add.'<br>';
sql($add);
return mysql_affected_rows()>0;
}
Пример использования:
if (isset($_POST['id'])) {
if(mysql_write_array('user', $_POST)) echo " Сохранил запись!";
else echo "Ошибка записи ".$_POST['id']."!";