вставить вывод print_r в базу данных?

Я пытаюсь вставить вывод print_r в базу данных?

В базе данных результат равен 1 ?

Как решить эту проблему?

 <?php processLog(print_r($dataArray)); function processLog($text) { global $process, $db, $groupID; print($text . "\n"); $SQL = "INSERT INTO enable_log (process_id, process_date, group_id, log_output, log_time) VALUES(:process_id, :process_date, :group_id, :log_output, now())"; $q = $db->prepare($SQL); $q->bindValue(":process_id", $process['pid']); $q->bindValue(":process_date", $process['date']); $q->bindValue(":group_id", $groupID); $q->bindValue(":log_output", $text); $q->execute(); } ?> 

Вместо сохранения вывода print_r() (который вы можете сделать с ответом @xzyfer), я бы предложил использовать serialize() чтобы PHP мог перевернуть строку обратно в правильный массив, если вам когда-либо понадобится вытащить ее обратно базы данных.

 processLog(serialize($dataArray)); 

Передайте true как второй параметр print_r:

 $a = print_r($var, true); 

Сохраняет вывод print_r($var) в $ a;

В вашем примере:

 $q->bindValue(":log_output", print_r($text, true)); 

Если вы передадите возвращаемый параметр print_r, вы можете использовать результат, а не распечатывать

$result = print_r($text, true);

$ result теперь будет содержать то, что было бы ранее выведено.

См. Руководство здесь