Mysql错误是您在开发过程中看到的最常见错误之一,我正在寻找一种令人愉快且信息丰富的方式来输出它们。
phpMyAdmin显然为mySQL查询提供了一个不错的漂亮打印机:
parsed query http://img706.imageshack.us/img706/2873/clipboard02a.png
但是,它会将错误打印为简单文本:
error output http://img683.imageshack.us/img683/1577/clipboard03g.png
而在后一个示例中,for the right syntax to use near
之后的文本可能已在查询中突出显示。像这样:
alt text http://img710.imageshack.us/img710/2839/clipboard03z.png
尽管这是一个简短的查询,但您会立即看到文本前面有一个剩余的逗号。在更大的查询中这样做可以大大提高可读性,我很惊讶很多关于这个主题的搜索都没有提出。
用一句话提问:您是否使用或知道任何此类PHP类出于调试目的而显示相当错误的mysql错误?
答案 0 :(得分:6)
使用自定义函数执行此操作非常简单:
function printPrettyError($sql, $error) {
$display = preg_replace("~^(.*to use near ')(.*)(' at line [0-9]+)$~s", '$1<u>$2</u>$3', $error);
$display .= "<br />$sql";
}
你必须定制它并决定是否要为$ sql语句制作更多格式化项目(IE在FROM和ORDER BY等之前添加换行符)但是应该给你一个开始。
答案 1 :(得分:2)
我不确定这是否有用..
来自mysql的所有错误消息仅从此文件呈现 share / errmsg.txt
错误消息信息列在share / errmsg.txt文件中。 %d和%s分别表示数字和字符串,它们在显示时将替换为Message值。
示例错误消息是%s在'%s'附近的第%d行
所以,如果我们可以在errmsg.txt的所有错误消息中添加一些内容,那么我们可以检查php mysql_error 函数返回的字符串中的匹配字符串,然后将它们设置为粗体或斜体。
我认为之前没有写过具体的课程。
你应该从头开始,把它变成你自己的服务器。
答案 2 :(得分:1)
可能偏离主题,但我不认为开发过程中最常见的错误是SQL错误。由于显示错误通常我安装了xDebug并且它处理错误消息的“精细”调整。
答案 3 :(得分:0)
从网站上试用http://krumo.sourceforge.net/:
简而言之,Krumo是print_r()和var_dump()的替代品。根据定义,Krumo是一个调试工具(最初用于PHP4 / PHP5,现在仅用于PHP5),它显示有关任何PHP变量的结构化信息。