Отправка массива с помощью curl_setopt

Если вы избегаете stored procedures, как чума, или не можете выполнить mysql_dump из-за разрешений или столкнуться с другими различными причинами.

Я бы предложил трехэтапный подход, подобный этому:

1) Где этот запрос создает кучу запросов в качестве набора результатов.

# =================
# VAR/CHAR SEARCH
# =================
# BE ADVISED USE ANY OF THESE WITH CAUTION
# DON'T RUN ON YOUR PRODUCTION SERVER 
# ** USE AN ALTERNATE BACKUP **

SELECT 
    CONCAT('SELECT * FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME, 
           ' WHERE ', A.COLUMN_NAME, ' LIKE \'%stuff%\';') 
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE 
            A.TABLE_SCHEMA != 'mysql' 
AND     A.TABLE_SCHEMA != 'innodb' 
AND     A.TABLE_SCHEMA != 'performance_schema' 
AND     A.TABLE_SCHEMA != 'information_schema'
AND     
        (
            A.DATA_TYPE LIKE '%text%'
        OR  
            A.DATA_TYPE LIKE '%char%'
        )
;

.

# =================
# NUMBER SEARCH
# =================
# BE ADVISED USE WITH CAUTION

SELECT 
    CONCAT('SELECT * FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME, 
           ' WHERE ', A.COLUMN_NAME, ' IN (\'%1234567890%\');') 
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE 
            A.TABLE_SCHEMA != 'mysql' 
AND     A.TABLE_SCHEMA != 'innodb' 
AND     A.TABLE_SCHEMA != 'performance_schema' 
AND     A.TABLE_SCHEMA != 'information_schema'
AND     A.DATA_TYPE IN ('bigint','int','smallint','tinyint','decimal','double')
;

.

# =================
# BLOB SEARCH
# =================
# BE ADVISED THIS IS CAN END HORRIFICALLY IF YOU DONT KNOW WHAT YOU ARE DOING
# YOU SHOULD KNOW IF YOU HAVE FULL TEXT INDEX ON OR NOT
# MISUSE AND YOU COULD CRASH A LARGE SERVER
SELECT 
    CONCAT('SELECT CONVERT(',A.COLUMN_NAME, ' USING utf8) FROM ', A.TABLE_SCHEMA, '.', A.TABLE_NAME, 
           ' WHERE CONVERT(',A.COLUMN_NAME, ' USING utf8) IN (\'%someText%\');') 
FROM INFORMATION_SCHEMA.COLUMNS A
WHERE 
            A.TABLE_SCHEMA != 'mysql' 
AND     A.TABLE_SCHEMA != 'innodb' 
AND     A.TABLE_SCHEMA != 'performance_schema' 
AND     A.TABLE_SCHEMA != 'information_schema'
AND     A.DATA_TYPE LIKE '%blob%'
;

Результаты должны выглядеть следующим образом:

2) Затем вы можете просто Right Click и использовать Copy Row (tab separated)

3) Вставить результаты в новое окно запроса и запуск вашего контента.

Подробно: я исключаю системную схему, которую вы обычно не видите в своем рабочем месте, если у вас нет опции Show Metadata and Internal Schemas.

Я сделал это, чтобы быстро предоставить ANALYZE весь HOST или DB, если это необходимо, или запустить OPTIMIZE для поддержки улучшений производительности.

Я уверен, что существуют разные , как вы можете это сделать, но вот что для меня работает:

-- ========================================== DYNAMICALLY FIND TABLES AND CREATE A LIST OF QUERIES IN THE RESULTS TO ANALYZE THEM
SELECT CONCAT('ANALYZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbname';

-- ========================================== DYNAMICALLY FIND TABLES AND CREATE A LIST OF QUERIES IN THE RESULTS TO OPTIMIZE THEM
SELECT CONCAT('OPTIMIZE TABLE ', TABLE_SCHEMA, '.', TABLE_NAME, ';') FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = 'dbname';

Протестировано в MySQL Версия: 5.6.23

ВНИМАНИЕ: НЕ РАБОТАЙТЕ ЭТО, ЕСЛИ:

  1. Вы обеспокоены тем, что вызываете столбики (следите за своими клиентскими соединениями)
  2. Вы не знаете, что делаете.
  3. Вы пытаетесь разозлить вас DBA. (у вас могут быть люди за вашим столом с быстротой .)
blockquote>

Cheers, Jay; -]

18
задан John Conde 17 December 2014 в 01:02
поделиться

3 ответа

Использование http_build_query ()

curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
// The values of variables will be shown but since we don't have them this is what we get

Вы можете получить доступ в том, чтобы получить доступ нормально с помощью $ _ Post SuperGlobal

30
ответ дан 30 November 2019 в 06:39
поделиться

Если $ anarriay - это массив, как я подозреваю, это не должно быть. Включите его в строку, путем объединения или любой подходящий метод.

Редактировать: См. Ответ Эрика Бутера.

0
ответ дан 30 November 2019 в 06:39
поделиться

Лучший способ выполнить то, что вы после того, чтобы использовать http_build_query () .

15
ответ дан 30 November 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: