Bug #76968 [Opn->Fbk]: error_log does not nt show correct ouput

From: Date: Thu, 04 Oct 2018 12:16:37 +0000
Subject: Bug #76968 [Opn->Fbk]: error_log does not nt show correct ouput
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217402@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=76968&edit=1 ID: 76968 Updated by: kalle@php.net Reported by: forum at sodcore dot com Summary: error_log does not nt show correct ouput -Status: Open +Status: Feedback Type: Bug Package: Apache2 related Operating System: Debian PHP Version: 7.0.32 Block user comment: N Private report: N New Comment: It depends on what your prepare_sql() function would return, if it does any escaping or such, then it could be the reasoning for this behavior. Try var_dump($sqlStatement); before calling error_log() and see what it yields. Seems more like an issue in your code, than a bug in error_log() itself Previous Comments: ------------------------------------------------------------------------ [2018-10-04 12:13:56] sjon at hortensius dot net I cannot reproduce this. Do you have the same problem when you simply log the string directly? Maybe prepare_sql performs magic on it? ------------------------------------------------------------------------ [2018-10-04 05:38:56] forum at sodcore dot com Description: ------------ When error_log is run it addes extra lines to a variable like #12#11#11 Yet code runs correctly. Test script: --------------- <?php require "../standard/functions.php"; $d = ""; $temp = "data;"; // Check to make sure we have correct request method post and that the token key fits if ($_SERVER ["REQUEST_METHOD"] == "POST" && ! empty ( $_POST ["T"] ) && $_POST ["T"] == $TOKEN_LOCK_HTTP_POST) { if (!empty($_POST["d"])) { $d = $_POST["d"]; } // define variables and set to empty values $con = get_database_connection (); // If there is a result echo the results $sqlStatment = prepare_sql("select * from table,table2 WHERE table.id = table2.id and table2.serial = '$d';"); error_log($sqlStatment,0); if ($res = $con->query($sqlStatment)) { $res->data_seek(0); $totalRows = $res->num_rows; // Return the total number of rows if ($totalRows > 0) { while ($row = $res->fetch_assoc()) { $temp .= $row['f']; } } $res->close(); } else { $temp .= "-100"; } echo $temp; } ?> Expected result: ---------------- I expect error_log to log: select * from table,table2 WHERE table.id = table2.id and table2.serial = '$d'; But it logs: select * from table,table2 WHERE table#12#11#11.id = table2.id and table2.serial = '$d'; Yet the code works correctly. The logging is messed up in more then one of my files. Actual result: -------------- But it logs: select * from table,table2 WHERE table#12#11#11.id = table2.id and table2.serial = '$d'; ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=76968&edit=1

« previous php.bugs (#217402) next »