我试图重复使用一个函数来保存" Price"有不同的名字。代码我希望通过抛出一个字符串来重用$ nameP
的值来重用Function GrabPrice(&$nameP){
$sql = "select Price from sub product where name='".$nameP."'";
$resultTest = mysql_query($sql);
$TempPrice = mysql_fetch_array($resultTest);
return $tempPrice[0];
}
$part1 = GrabPrice("part number");
$part2 = GrabPrice("another part number");
该命令确实在数组[0]中保存了价格,但是当我将数据作为可重用函数时,它存储数据有困难。我只是不想为单个部件编号编写功能。
编辑:我试图通过传递一个字符串替换$ nameP来尝试将GrabPrice()的变量返回保存到$ part1 ... $ part2中。答案 0 :(得分:0)
Function GrabPrice($nameP){
$sql = "select Price from sub product where name='".$nameP."'";
$resultTest = mysql_query($sql);
$TempPrice = mysql_fetch_array($resultTest);
return $tempPrice[0];
}
$part1 = GrabPrice("part number");
$part2 = GrabPrice("another part number");
在函数的情况下通过引用传递完全没用,因为传递的字符串没有分配给变量,并且不需要存储它们的更改。此外,mysql_*
函数已弃用,不再可用。使用MySQLi或PDO满足您的MySQL需求。
另外你如何使用mysql_query
是危险的,当你从mysql转换到mysqli时,很可能不会有效。但是,假设您继续使用mysql_
函数,则应该更改函数
Function GrabPrice($nameP){
global $conn //Assuming your mysql_connect is stored in this variable.
$sql = "select Price from sub product where name='".mysql_real_escape_string($nameP)."'";
//Protects against SQL Injection, which you should google.
$resultTest = mysql_query($sql,$conn);
$TempPrice = mysql_fetch_array($resultTest,$conn);
mysql_free_result($resultTest);
return $tempPrice[0];
}
$part1 = GrabPrice("part number");
$part2 = GrabPrice("another part number");
我确实建议您查找MySQLi或PDO的一些教程。我个人更喜欢MySQLi,但事实上要说两者都有自己的优点,两者都有自己的弱点。