PHP MySQL 错误日志函数
您对使用以下函数记录 mysql 错误有什么想法?
<?php
function sql_query($query)
{
$q = mysql_query($query);
if(!$q)
{
mysql_query('INSERT INTO mysql_errors (error_query, error_about) VALUES ('.
$query.', '.mysql_error().' )');
}
return $q;
}
?>
你觉得有用吗?如何改进?
What are your thoughts of using the following function to log mysql errors?
<?php
function sql_query($query)
{
$q = mysql_query($query);
if(!$q)
{
mysql_query('INSERT INTO mysql_errors (error_query, error_about) VALUES ('.
$query.', '.mysql_error().' )');
}
return $q;
}
?>
Do you find it useful? How can it be improved?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
应该是:
我添加了一个日期字段并清理了输入。需要有一种方法来区分新错误和旧错误,而日期字段可以做到这一点。
Should be:
I added a date field and sanitised input. There needs to be a way to differentiate new and old errors and a date field does that.
如果我找到一种引发正确错误的方法,我可以使用它来进行 SQL 注入。
为什么不直接使用 MySQL 的本机错误日志呢?有什么理由将它们塞回数据库吗?
I could use this, if I found a way to induce the right error, to do an SQL injection.
Why not just use MySQL's native error log? Is there some reason to stuff them back into the DB?
看起来您还没有清理输入,如果 $query 包含 '?这会导致另一个 SQL 错误。
It looks like you've not sanitized input, what if $query contains '? It would cause another SQL error.
当然,前提是您已经打开了数据库连接并且不需要在此处打开它们,只要您在第二个查询中的值周围有单引号,该函数就会按预期工作。相关说明是,mysql_error 日志还不够吗?
Provided, of course, you already have your database connections open and do not need to open them here the function would work as expected as long as you have single quotes around the values in the second query. On a related note, is the mysql_error log not sufficient?