Я не могу получить значения из 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;
?>
Возможно, что-то не так с вашим запросом? Я не имею в виду синтаксис, это нормально, но, может быть, то, что вы ищете, не написано правильно?
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';
}
Эта проверка, если у вас действительно есть результаты поиска по вашему запросу.
Других решений пока нет …