PHP echo 会发送标记和其他详细信息以及实际数据


php echo sends markup and other details along with the actual data

我正在尝试创建一个登录服务。当我尝试使用虚拟数据时,即通过硬编码用户名和密码,然后回显到 ajax 的结果是正确的,但是当我从 $_POST[] 获得值的那一刻,我得到了很多标记和其他不必要的细节,即使我正在回显硬编码的整数。

echo 0;

返回值为 -

( ! )注意:使用未定义的常量密码 - 在第 10 行的/var/www/abhishekprakashWebService/web_service/login.php 中假定为"密码" 调用堆栈 #TimeMemoryFunctionLocation 10.1106122300{main}( )../登录.php0 ( ! )注意:使用未定义的常量用户名 - 在第 11 行的/var/www/abhishekprakashWebService/web_service/login.php 中假定为"用户名" 调用堆栈 #TimeMemoryFunctionLocation 10.1106122300{main}( )../登录.php0 1

这里的最后一个"1"应该是响应,上面的一切都不是必需的。如何删除它?

PHP 回声的片段 -

$proc = $conn->prepare("CALL sp_validate_login(?, ?, @isThere)");
$proc->bindParam(1, $username, PDO::PARAM_STR);
$proc->bindParam(2, $hash, PDO::PARAM_STR);
$proc->execute();
$retVal = $conn->query("SELECT @isThere")->fetchAll()[0][0];
echo $retVal

谢谢

通知是为了警告您您正在做不正确但不是致命的事情 - 在这种情况下使用未定义的常量。

更改错误报告级别不是解决方案。你只是隐藏问题。

查看第 10 行和第 11 行,看看你在哪里使用了你尚未定义的东西,然后定义它或不使用它。