我是PHP的新手,请原谅我,如果这封电子邮件听起来,那么......愚蠢。我正试图为我的老板移植一些php4代码。这是一个让我难倒的功能。PHP新手试图了解如何在php5中制作相当于php4的脚本
function dbank($table,$sql,$dbankoverride="",$dbconfig="") {
if(empty($dbconfig)) $dbconfig="0";
$dbhostconfig[0]="XXXX";
$dbuserconfig[0]="XXXX";
$dbpasswdconfig[0]="XXXX";
$dbankconfig[0]="db1";
$dbhostconfig[1]="YYYY";
$dbuserconfig[1]="YYYY";
$dbpasswdconfig[1]="";
$dbankconfig[1]="db2";
$dbhost=$dbhostconfig[$dbconfig];
$dbuser=$dbuserconfig[$dbconfig];
$dbpasswd=$dbpasswdconfig[$dbconfig];
$dbank=$dbankconfig[$dbconfig];
if(!empty($dbankoverride)) $dbank=$dbankoverride;
[email protected]_connect($dbhost,$dbuser,$dbpasswd);
if(!$db) {
$errormsg="<style type=\"text/css\">\n";
$errormsg.="<!--\n";
$errormsg.=".errormsg01 { font-family: \"Times New Roman\", Times, serif; font-size: 12pt; font-style: normal; line-height: normal; font-weight: normal; font-variant: normal; text-decoration: none}\n";
$errormsg.="-->\n";
$errormsg.="</style>\n";
$errormsg.="<span class=\"errormsg01\">Database Error</span>\n";
die($errormsg);
} else {
# Select Database
@mysql_select_db($dbank,$db);
# Query
[email protected]_query($sql,$db);
if (substr($sql,0,6)=="select" || substr($sql,0,8)=="describe") {
for($i=0;$i<mysql_num_fields($result);$i++) {
$field_name[$i] = mysql_field_name($result,$i);
}
[email protected]_num_rows($result);
for($i=0;[email protected]_fetch_array($result);$i++) {
$input[$i]=$in;
}
@mysql_close($db);
$return=array($num,$field_name,$input);
return $return;
}
}
@mysql_close($db);
$return=array($num,$field_name,$input);
return $return;
}
据我了解,这个功能运行在一个表中的SQL查询并返回变量$ NUM,$ FIELD_NAME和$输入数组。
该函数是为php4服务器编写的,它给出了每个变量的错误“Undefined variable $ num on line ..”。
我的问题是:我如何移植这个代码,使其运行PHP 5?
希望很快听到回来。非常感谢。
此代码中的内容在PHP 5中无法使用? – 2013-02-24 17:41:15
在使用它们之前,请务必定义变量!例如。把'$ dbhostconfig = array();'放在最上面。 – str 2013-02-24 17:42:17
嗨,感谢您的快速回复。我收到以下错误:注意:C:\ xampp \ htdocs \ lside \ inc \ dbank.inc.php中的未定义变量:num以及field_name和输入变量的类似错误 – joshi 2013-02-24 17:46:43