【发布时间】:2015-08-04 22:09:45
【问题描述】:
当我在页面上使用它时,我有一个可以工作的代码,但我试图让它成为一个函数。我无法让它工作,似乎 $customer 和 $system 变量没有被发送到代码。即使我在 Raw 中输入它。知道有什么问题吗? $Customer 是客户的名称,$system 可以是“Source”或“Target”。
function status_total($customer, $system){
$sql_customer = "SELECT * FROM `Customer` WHERE Cust_Name = '$customer' LIMIT 0,1";
$customer_selection = mysqli_query($conn,$sql_customer);
$customer_row = mysqli_fetch_assoc($customer_selection);
$env_lines = $customer_row["Env_Lines"];
$cust_id = $customer_row["Cust_ID"];
$sql_last_records = "SELECT * FROM $system WHERE Cust_ID = $cust_id ORDER BY Time DESC LIMIT $env_lines";
$record_selection = mysqli_query($conn, $sql_last_records);
$result = mysqli_fetch_all($record_selection, MYSQLI_ASSOC);
$states = array_column($result, "Stat");
if($states == array_fill(0, count($states), "Run")) {
echo "Success";
} else
echo "Fail";
}
【问题讨论】:
-
我看不到你在函数中定义的 $conn 和 $sql_customer 变量。应该是问题所在。我不会深入研究其他问题,例如在客户名称重复并限制返回数据的情况下,您很可能不会仅使用客户名称查询所需的结果。
-
... 或挖掘其他明显的问题,如 SQL 注入漏洞,或与性能相关的问题,如检索表中的 every 列(使用 @ 987654323@) 当我们只需要两列时。
-
是的,这是@smozgur 的错误之一,谢谢。我不认为我需要包含 $conn,因为我的 config.php 页面中有它包含在这个 function.php 页面中
-
一个函数是一个独立的世界,除了注入的对象和变量之外,它不能从外部读取——除非你全局定义了变量,你应该避免这样做。
标签: php mysql function mysqli fetchall