У меня есть код, который работает, когда я использую его на странице, но Im пытается сделать это функцией. Я не могу заставить его работать, кажется, что переменные $ customer и $ system arent отправляются в код. Даже если я напечатаю его в Raw. Любая идея, что не так? $ Клиент - это имя клиента, $ 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";
}
https://gist.github.com/R2D2-05/78d81566e4bf0eafd1fa
Я не могу видеть ваши $ сопп и $ sql_customer переменные определены в функции ., это должна быть проблема. Я не копаюсь в других проблемах, например, вы, скорее всего, не получите желаемого результата, запрошенного только с именем Клиента в случае дублирования имен клиентов и ограничения возвращаемых данных. – smozgur
... или копаться в других вопиющих проблемах, таких как ** Уязвимости SQL Injection ** или связанные с производительностью проблемы, такие как извлечение * each * столбца в таблице (с помощью SELECT *), когда нам нужно только два столбца , – spencer7593
yup Это была одна из ошибок @smozgur, thnx. Я не думал, что мне нужно включить $ conn, потому что у меня есть это на моей странице config.php, которая включена в эту страницу функции. Php – R2D2