我的php wap网站上有时会遇到一个奇怪的错误!它不是持久的,只是发生了somwtimes&如果我刷新页面,则错误消失并显示正常页面。我附加错误截图 -
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)
{
托管服务器是我的代码或问题吗? 如何阻止用户显示此类代码?
答案 0 :(得分:1)
函数mysql_real_escape_string
需要数据库连接,以便它可以检测正在使用的字符集并正确转义。
但是,您根本不应该使用该库 - 现在已弃用。使用PDO或mysqli,并在自己插入之前切换到参数化而不是转义值。
似乎PHP正在尝试以root身份连接到当前数据库。在做建立连接的地方,请记住与root连接是个坏主意。与具有最少权限的用户联系,以使您的应用程序正常工作。
答案 1 :(得分:0)
您未连接到MySQL。如果您不想使用SQL查询执行某些操作,则可以删除此功能。