如何在函数php-mysql上返回值数组
为什么我有下面的代码, 我想用函数返回值数组:如何在函数php-mysql上返回值数组,php,mysql,arrays,Php,Mysql,Arrays,为什么我有下面的代码, 我想用函数返回值数组: <?php include "config/koneksi.php"; //script1 $fetch1 = mysqli_query($conn, "SELECT * FROM orders_temp"); $array = array(); while($row = mysqli_fetch_assoc($fetch1)){ $array[] = $row[id_orders_temp]; } echo "scri
<?php
include "config/koneksi.php";
//script1
$fetch1 = mysqli_query($conn, "SELECT * FROM orders_temp");
$array = array();
while($row = mysqli_fetch_assoc($fetch1)){
$array[] = $row[id_orders_temp];
}
echo "script1: ";
print_r($array);
echo "<br>";
//script2
function cart(){
$array1= array();
$fetch2 = mysqli_query($conn,"SELECT * FROM orders_temp");
while ($r=mysqli_fetch_assoc($fetch2)) {
$array1[] = $r[id_orders_temp];
}
return $array1;
}
$cart1 = cart();
echo "script2 : ";
print_r($cart1);
?>
如果我打印没有函数的数组没有问题,但是
当我使用上面的函数时,我得到了一个空数组。
如何使用函数获取数组值?是变量id\u orders\u temp
返回正确的值??
如果它是一列DB,那么你必须
$row['id_orders_temp'];
由于数组中的作用域,您必须将数组指定为全局数组,因此将函数中的第一行替换为下面的一行: $array1=全局$array 函数中未定义变量$conn,因此需要将其传递给函数或引用全局可用的$conn 转交$conn 参考全球$conn 理想情况下,您应该限制全局状态并访问它,所以我不建议这样做
include "config/koneksi.php";
function cart() {
global $conn;
$identifiers = array();
$result = mysqli_query($conn, 'SELECT id_orders_temp FROM orders_temp');
while ($row = mysqli_fetch_assoc($result)) {
$identifiers[] = $row['id_orders_temp'];
}
return $identifiers;
}
$cart = cart();
var_dump($cart);
注意,我已经重命名了cart中的变量,并优化了SQL查询,以仅选择实际需要的列 应为$array[]=$row['id\u orders\u temp'];不起作用,script1和script2之间的变量名不同@JigarShah,只需关注函数仍不起作用的script2连接处理程序$conn在函数范围内不可用。使用全局或显式地将连接处理程序传递给函数。cart函数中的连接存在范围问题,应将其作为参数传递给函数,避免使用全局。如果您启用了错误报告功能,您会收到通知。Php非常聪明,能够自己解决这个问题,但是它会发出通知,我现在明白了,它非常感谢您
include "config/koneksi.php";
function cart($conn) {
$identifiers = array();
$result = mysqli_query($conn, 'SELECT id_orders_temp FROM orders_temp');
while ($row = mysqli_fetch_assoc($result)) {
$identifiers[] = $row['id_orders_temp'];
}
return $identifiers;
}
$cart = cart($conn);
var_dump($cart);
include "config/koneksi.php";
function cart() {
global $conn;
$identifiers = array();
$result = mysqli_query($conn, 'SELECT id_orders_temp FROM orders_temp');
while ($row = mysqli_fetch_assoc($result)) {
$identifiers[] = $row['id_orders_temp'];
}
return $identifiers;
}
$cart = cart();
var_dump($cart);