为什么会出现此错误?

时间:2013-08-25 13:44:18

标签: php mysql sql

我的php wap网站上有时会遇到一个奇怪的错误!它不是持久的,只是发生了somwtimes&如果我刷新页面,则错误消失并显示正常页面。我附加错误截图 -

enter image description here

172行fun.inc.php是 -

return mysql_real_escape_string($str);

为了更好地理解,我将第164至212行粘贴

function clean($str)
{
$str = @trim($str);
if(get_magic_quotes_gpc()) {
$str = stripslashes($str);
$str = str_replace("<",'',$str);
$str = str_replace(">",'',$str);
}
return mysql_real_escape_string($str);
}

function regchars($word){
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";
for($i=0;$i<strlen($word);$i++){
$ch = substr($word,$i,1);
$nol = substr_count($chars,$ch);
if($nol==0){
return true;
}
}
return false;
}

function nospace($word){
$pos = strpos($word," ");
if($pos === false){
return false;
}else{
return true;
}
}

function checknumber($word){
$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
$ch = substr($word,0,1);
$sres = ereg("[0-9]",$ch);
$ch = substr($word,0,1);
$nol = substr_count($chars,$ch);
if($nol==0){
return true;
}
return false;
}

function registerform($ef)
{
$errl = "";
switch($ef)
{

托管服务器是我的代码或问题吗? 如何阻止用户显示此类代码?

2 个答案:

答案 0 :(得分:1)

函数mysql_real_escape_string需要数据库连接,以便它可以检测正在使用的字符集并正确转义。

但是,您根本不应该使用该库 - 现在已弃用。使用PDOmysqli,并在自己插入之前切换到参数化而不是转义值。

似乎PHP正在尝试以root身份连接到当前数据库。在建立连接的地方,请记住与root连接是个坏主意。与具有最少权限的用户联系,以使您的应用程序正常工作。

答案 1 :(得分:0)

您未连接到MySQL。如果您不想使用SQL查询执行某些操作,则可以删除此功能。

相关问题