ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1091  
Старый 02.04.2010, 16:30
Аватар для Failure
Failure
Участник форума
Регистрация: 21.09.2008
Сообщений: 148
Провел на форуме:
678893

Репутация: 102
По умолчанию

не пробовал почитать на mysql.com вместо того что бы колупаться? =\
PHP код:
<?php
......
$query mysql_query("SELECT id FROM `qwerty` WHERE id='{номер}' LIMIT 0,1");
while(
$row mysql_fetch_assoc($query)) {
        echo 
$row['id'];
}
.......
?>
 
Ответить с цитированием

  #1092  
Старый 02.04.2010, 17:57
Аватар для DeMoN_2009
DeMoN_2009
Новичок
Регистрация: 01.09.2009
Сообщений: 29
Провел на форуме:
214285

Репутация: -6
По умолчанию

мое нифига не работает)
 
Ответить с цитированием

  #1093  
Старый 03.04.2010, 12:33
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию

можно ли так делать?:

PHP код:
$fio "Иванов Иван Иванович";
$result3 mysql_query ("INSERT INTO client (fio) VALUES ('$fio')");
 
// внесли в таблицу ФИО, там ID автоматом сгенерировался. и далее так
$result2 mysql_query("SELECT * FROM client WHERE fio='$fio'",$db); 
так делать можно или нет?
мне надо сразу внести ФИО и вывести его ID
 
Ответить с цитированием

  #1094  
Старый 03.04.2010, 13:25
Аватар для phpdreamer
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме:
444589

Репутация: 123
Отправить сообщение для phpdreamer с помощью ICQ
По умолчанию

если поле id есть в таблице и оно auto_increment, то с id все будет ок...
только не забывайте про защиту от sql injection
 
Ответить с цитированием

  #1095  
Старый 03.04.2010, 15:20
Аватар для namak
namak
Познающий
Регистрация: 29.01.2009
Сообщений: 81
Провел на форуме:
255434

Репутация: 12
По умолчанию

Цитата:
Сообщение от phpdreamer  
если поле id есть в таблице и оно auto_increment, то с id все будет ок...
только не забывайте про защиту от sql injection
id явлся auto_increment
будем тестить значит

а как защититься от иньекций?
 
Ответить с цитированием

  #1096  
Старый 03.04.2010, 17:00
Аватар для phpdreamer
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме:
444589

Репутация: 123
Отправить сообщение для phpdreamer с помощью ICQ
По умолчанию

PHP код:
$fio mysql_real_escape_string("Иванов Иван Иванович"); 
 
Ответить с цитированием

  #1097  
Старый 04.04.2010, 13:59
Аватар для Architek86
Architek86
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме:
107625

Репутация: 2
По умолчанию

mysql_query("UPDATE `puppy_listings` SET `time`= '".time()."', `uptime` = '".time()."', `auto_refresh` = `auto_refresh` - 1 WHERE `auto_refresh` != '0' AND `chas_refresh` = '".date('Hi')."'");

Как запрос дополнить так, что бы обновление полей `time`='".time()."', `uptime` = '".time()."' было не только при условии `auto_refresh` != '0' AND `chas_refresh` = '".date('Hi')."'", но и при обязтельном условии `state` != 'closed' ?

Последний раз редактировалось Architek86; 04.04.2010 в 14:07..
 
Ответить с цитированием

  #1098  
Старый 04.04.2010, 14:25
Аватар для phpdreamer
phpdreamer
Постоянный
Регистрация: 26.07.2009
Сообщений: 321
Провел на форуме:
444589

Репутация: 123
Отправить сообщение для phpdreamer с помощью ICQ
По умолчанию

WHERE `auto_refresh` != '0' AND `chas_refresh` = '".date('Hi')."' AND `state` != 'closed'
 
Ответить с цитированием

  #1099  
Старый 04.04.2010, 15:29
Аватар для Architek86
Architek86
Познающий
Регистрация: 20.02.2008
Сообщений: 82
Провел на форуме:
107625

Репутация: 2
По умолчанию

phpdreamer, а ничего, что обновление поля `auto_refresh` = `auto_refresh` - 1 должно происходить вне зависимости от `state` != 'closed' ?

Нашёл решение, вот оно:
UPDATE puppy_listings
SET `time`= if(state != 'closed', '".time()."', `time`),
uptime = if(state != 'closed', '".time()."', uptime),
auto_refresh = auto_refresh - 1
WHERE auto_refresh != '0' AND chas_refresh = '".date('Hi')."'
 
Ответить с цитированием

Вопрос
  #1100  
Старый 08.04.2010, 18:56
Аватар для ^_WhitE_DeMoN_^
^_WhitE_DeMoN_^
Познающий
Регистрация: 01.03.2009
Сообщений: 85
Провел на форуме:
272527

Репутация: 19
Question Вопрос

Юзаю Mihalism Multi Forum Host + phpBB 3.0.7-PL1, пытаюсь передать базе (MySQL, COLLATE=utf8_bin) данныe на кириллице, но как не крути (енкодинг базы и файлов) - всегда вылазят йероглифы

Подозирою что виноваты скрипты работы с базой...
Но знаний по MySQL не хватает.

database.php:
PHP код:
<?php

    
class mfhclass_mysql_driver
    
{
        function 
connect($host "localhost"$username$password$database$new_link NULL)
        {
            global 
$mfhclass;
            
$connection_id mysql_connect($host$username$passwordtrue);
            
            if (
is_resource($connection_id) == false) {
                
$this->error();
            } else {
                if (
mysql_select_db($database$connection_id) == false) {
                    
$this->error();
                } else {
                    if (
is_resource($this->root_connection) == false) {
                        
$this->root_connection $connection_id;
                    } else {
                        if (
$mfhclass->funcs->is_null($new_link) == false) {
                            if (
is_array($this->alt_connections) == true) {
                                
$this->alt_connections = array();
                            }
                            
$this->alt_connections[$new_link] = $connection_id;
                        }
                    }
                }
            }
            
            return 
$connection_id;
        }

        function 
close()
        {
            if (
is_resource($this->root_connection) == true) {
                
mysql_close($this->root_connection);
            }
            
            if (
is_array($this->alt_connections) == true) {
                foreach (
$this->alt_connections as $id => $connection) {
                    
mysql_close($this->alt_connections[$id]);
                }
            }
        }
            
        function 
set_database_connection($database_id 1) {
            global 
$mfhclass;
            if (
$database_id != && $mfhclass->funcs->is_null($database_id) == false) {
                
$database_info $this->fetch_array($this->query("SELECT * FROM `mfh_forum_databases` WHERE `database_id` = '{$database_id}';"));
                
$this->connect($database_info['sql_host'], $database_info['sql_username'], $database_info['sql_password'], $database_info['sql_database'], $database_info['database_id']);
            }
        }

        function 
query($query$connection_id NULL)
        {
            global 
$mfhclass;
            if (
is_resource($this->root_connection) == false) {
                
$this->connect($mfhclass->info->config['sql_host'], $mfhclass->info->config['sql_username'], $mfhclass->info->config['sql_password'], $mfhclass->info->config['sql_database']);
            }
            
            
$query str_replace("<# QUERY_LIMIT #>", ((($mfhclass->info->current_page $mfhclass->info->config['max_results']) - $mfhclass->info->config['max_results']).", {$mfhclass->info->config['max_results']}"), $query);
            if (
$mfhclass->info->config['sql_tbl_prefix'] != "mmh_" && $mfhclass->funcs->is_null($mfhclass->info->config['sql_tbl_prefix']) == false){
                
$query preg_replace("/mmh_(\S+?)([\s\.,]|$)/", ($mfhclass->info->config['sql_tbl_prefix']."\\1\\2"), $query);
            }
            
            if (
$mfhclass->funcs->is_null($connection_id) == false && $connection_id != 1) {
                
$this->set_database_connection($connection_id);
                if (
is_resource($this->alt_connections[$connection_id]) == false) {
                    
$this->error($query"Unknown alternate connection id: {$connection_id}");
                }
            }
            
            
$this->query_result mysql_query($query, (($mfhclass->funcs->is_null($connection_id) == false && $connection_id != 1) ? $this->alt_connections[$connection_id] : $this->root_connection));

            if (
$this->query_result == false) {
                
$this->error($query);
            } else {
                return 
$this->query_result;
            }
        }

        function 
total_rows($query_id)
        {
            return 
mysql_num_rows($query_id);
        }

        function 
fetch_array($query_id$result_type MYSQL_ASSOC)
        {
            return 
mysql_fetch_array($query_id$result_type);
        }

        function 
error_number()
        {
            global 
$mfhclass;
            return ((
$mfhclass->funcs->is_null(mysql_error()) == false) ? mysql_errno() : "Unknown Error Number");
        }

        function 
error($query "No Query Executed"$custom_error NULL)
        {
            global 
$mfhclass;
            
$error_message = (($mfhclass->funcs->is_null($custom_error) == false) ? $custom_error mysql_error());
            
$error_html "\t\t\t<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">
            <html>
                <head>
                    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=UTF-8\" />
                    <title>MySQL Error</title>
                    <style type=\"text/css\">
                            * { font-size: 100%; margin: 0; padding: 0; }
                        body { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 75%; margin: 10px; background: #FFFFFF; color: #000000; }
                        a:link, a:visited { text-decoration: none; color: #005fa9; background-color: transparent; }
                        a:active, a:hover { text-decoration: underline; }                        
                        textarea { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; border: 1px dashed #000000; background: #FFFFFF; padding: 5px; background: #f4f4f4; }
                    </style>
                </head>
                <body>
                    <p>
                        <b>MySQL Driver Error</b>
                        <br /><br />
                        A MySQL error has occurred. 
                        Please copy the output shown below and email it immediately to <a href=\"mailto:
{$mfhclass->input->server_vars['server_admin']}\">{$mfhclass->input->server_vars['server_admin']}</a>.
                        <br /><br />
                        <textarea readonly=\"readonly\" rows=\"15\" cols=\"40\" style=\"width:500px;\">Time Encountered: "
.date("F j, Y, g:i:s a")."\nIP Address: {$mfhclass->input->server_vars['remote_addr']}\rError: {$error_message}\nError Number: ".$this->error_number()."\nQuery Executed: {$query}</textarea>
                    </p>        
                </body>
            </html>"
;
            exit(
$error_html);
            return;
        }
    }

?>
и часть от install_queries.php (импортируемые данные в ДБ):

PHP код:
<?php
    
...
    
    
$mfhclass->db->install_queries[] = "DROP TABLE IF EXISTS `{$mfhclass->input->post_vars['access_name']}_acl_groups`;";

...

    
$mfhclass->db->install_queries[] = "CREATE TABLE `{$mfhclass->input->post_vars['access_name']}_acl_groups` (
      `group_id` mediumint(8) unsigned NOT NULL default '0',
      `forum_id` mediumint(8) unsigned NOT NULL default '0',
      `auth_option_id` mediumint(8) unsigned NOT NULL default '0',
      `auth_role_id` mediumint(8) unsigned NOT NULL default '0',
      `auth_setting` tinyint(2) NOT NULL default '0',
      KEY `group_id` (`group_id`),
      KEY `auth_opt_id` (`auth_option_id`),
      KEY `auth_role_id` (`auth_role_id`)
    ) CHARACTER SET `utf8` COLLATE `utf8_bin`
      ENGINE=MyISAM ;"
;

    
$mfhclass->db->install_queries[] = "INSERT INTO `{$mfhclass->input->post_vars['access_name']}_acl_groups` (`group_id`, `forum_id`, `auth_option_id`, `auth_role_id`, `auth_setting`) VALUES (1, 0, 85, 0, 1);";

...

?>
Если в VALUES есть кириллица - она записывается йероглифами...

Спасибо что прочли до конца =) Сейчас - ПОМОГИТЕ !
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости 4 07.07.2006 16:53



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ