Не могу извлечь данные из SQL в PHP с использованием Cloud9 (c9)

Я не могу получить значения из SQL с использованием PHP в облаке9 (C9).
Я получаю следующую ошибку (предупреждение).

mysqli_fetch_assoc() ожидает, что параметр 1 будет mysqli_result, логическое значение в /home/ubuntu/workspace/index.php

<?php
session_start();
$conn = mysqli_connect("127.0.0.1", "mehul87", '', "omnicat");
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
$sql= "select * from iron_study where Element='Serum_iron'";
$array=mysqli_query($conn,$sql) ;
$data=mysqli_fetch_assoc($array);
$optimal=$data['Optimal'];
$Min=$data['Min'];
$Max=$data['Max'];
echo $Min;
echo $Max;
$sql1="select * from iron_study where Element='Transferrin_IBC'";
$array1=mysqli_query($conn,$sql1);
$data1=mysqli_fetch_assoc($array1);
$optimal1=$data1['Optimal'];
$Min1=$data1['Min'];
$Max1=$data1['Max'];
echo $Min1;
echo $Max1;
?>

0

Решение

Возможно, что-то не так с вашим запросом? Я не имею в виду синтаксис, это нормально, но, может быть, то, что вы ищете, не написано правильно?

mysqli_fetch_assoc (mysqli_result $ result)
Возвращает ассоциативный массив, который соответствует выбранной строке или NULL, если строк больше нет.

Если mysqli_result вашего поиска пуст, я считаю, что он автоматически устанавливает 1-й параметр (который является переменной результата поиска $ array1 в вашем случае) на ноль.

На вашем месте я бы изменил

$array1=mysqli_query($conn,$sql1);

К этому:

$array1=mysqli_query($conn,$sql1) or die($conn->error);

Это отобразит ошибку ответа MySQL, если она есть. Дополнительно я бы добавил:

if(mysqli_num_rows($array1) == 0){
echo 'There are no results found';
}

Эта проверка, если у вас действительно есть результаты поиска по вашему запросу.

0

Другие решения

Других решений пока нет …