在使用php和mysqli操作数据库的时候,有的时候需要同时返回多个值。但是在php中并不能真正的同时返回多个值,这个时候就需要使用其他方式来实现。
最基本的有在查询的函数中(个人习惯把查询写成一个函数方便调用)使用global声明变量,然后再给每个需要返回的值单独声明变量最后再调用(说起来都麻烦)……
实际上可以用函数把多个数据返回为一个array数组,最后在需要使用这些数据的时候再用list将各个数据单独装载在变量中。
参考代码,返回多个数据为一个数组:
function SqlAdapter($area)
{
// 创建连接
$conn = mysqli_connect("", "", "", "");
// 检查连接
if (!$conn) {
die("连接失败: " . mysqli_connect_error());
}
//***********************************************************************
$sqline = "SELECT * FROM test_1st WHERE area_name='".$area."'";
$result = mysqli_query($conn, $sqline);
if (mysqli_num_rows($result) > 0)
{
// 输出数据
while($row = mysqli_fetch_assoc($result))
{
$n = $row["n"];
$aX = $row["areaX"];
$aY = $row["areaY"];
$pX = $row["positionX"];
$pY = $row["positionY"];
$sn = $row["sign"];
}
return array($n,$aX,$aY,$pX,$pY,$sign,$area);
}
else
{
echo "参数错误!<br>";
}
mysqli_close($conn);
}
使用list将每个数据用不同的变量单独装载:
list($no,$areaX,$areaY,$positionX,$positionY,$sign,$area_name) = SqlAdapter($now_area);
这样就变相的实现了在php中一个函数同时返回多个值了。