Запрос MySQL и php

У меня проблема с данными, полученными из моего запроса. Неважно, сколько записей соответствует SELECT, я всегда возвращаю значение 0.

<title>Lottery</title>

<!--?php
if(isset($_POST['submit'])){
$value = $_POST['Value']; 
echo "Chosen value : " .$value; 
}

?-->


<div>
<p>Counter: <!--? echo "".$value ?--></p>
<p>Place: <!--? echo "".$value ?-->: </p>
<p>Best match<!--? echo "".$value ?--> :</p>
</div>



 <!--?
 $servername = "localhost";
 $username = "lottery_root";
 $password = "xyz";
 $database = "lottery";
 $conn = mysqli_connect($servername, $username, $password, $database) or die(mysqli_error($conn));



 $result = mysqli_query($conn, "Select count(*) from lottery where first='$_POST[value]' or second='$_POST[value]'; ");
 if (!$result) echo mysqli_error($conn);

 $row = mysqli_fetch_row($result);
 print_r($row);
 ?-->

Это то, что я получаю каждый раз "Array ([0] => 0)" Если я использую разные SELECT, например, SELECT * FROM лотерею; он печатает один столбец.

3 ответа

Используйте простой подход отладки. Просто попробуйте распечатать свой запрос и посмотреть, получаете ли вы правильные значения для $ _POST [значение]:

echo "Select count(*) from lottery where first='$_POST[value]' or second='$_POST[value]'; ";


$_POST['Value'] отличается от $_POST['value']

С учетом регистра, вы должны использовать точное имя поля ввода, как вы его назвали в форме.


Я бы сказал, что вы не ускользнули от своих персонажей. Следующая строка должна быть изменена:

$result = mysqli_query($conn, "Select count(*) from lottery where first='$_POST[value]' or second='$_POST[value]'; ");

Должен быть:

$result = mysqli_query($conn, "Select count(*) from lottery where first='".$_POST['value']."' or second='$_POST[value]'; ");

Эвакуация выполняется путем завершения кавычек, двойных или одиночных, и помещения точки для конкатенации в строке. Чтобы повторить с выражением снова, точка необходима для конкатенации и открытия котировок снова.

В первом заявлении вы действительно запрашиваете текст "$ _POST [значение]" во втором выражении, которое вы извлекаете значение переменной "$ _POST ['value]).

Также обратите внимание на чувствительность к регистру в вашем POST. Вы когда-то используете "Значение" и другое значение "значение", одно из которых неверно.

licensed under cc by-sa 3.0 with attribution.