2013-07-16 3 views
2

PDOStatement::rowCount() может использоваться для получения количества строк, затронутых последними INSERT, UPDATE, или DELETE.Выполняет ли PDOStatement :: rowCount() запрос SQL?

Имеет ли накладные расходы на выдачу второго запроса, такого как ROW_COUNT() MySQL, или количество затронутых строк в части метаданных, которые он получает при выполнении самого оператора, и как таковой является «свободным» ресурсом?

ответ

5

Я включил журнал MySQL с:

SET GLOBAL general_log = 'ON'; 

И побежал запрос вставки с подготовленным заявлением с последующим rowCount вызова. Журнал показывает это:

32 Prepare INSERT INTO test VALUES(?, ?, ?) 
32 Execute INSERT INTO test VALUES(NULL, '11', '22') 
32 Close stmt 

Так что дополнительного вызова нет.

+0

Отличная методология - количество раз, когда я потратил возрасты, отлаживая PDO, и я ни разу не включил журнал запросов. Genius. –

+0

@adam Мне пришлось сделать это 2 дня назад. Это единственный способ увидеть полный запрос с проанализированными параметрами. – bitWorking

+0

@redreggae Great. Благодаря! – Benjamin

Смежные вопросы