Вот мой код Моя проблема в том, что я хочу, чтобы вставка произошла только тогда, когда rating_airlines
значение между 1
а также 5
но он продолжает добавлять все значения.
rating_airlines
является varchar
в моей базе данных.
<?php
require_once('connect.php');
mysql_select_db($database_localhost,$con);
$nom_airlines=$_GET['nom_airlines'];
$rating_airlines=$_GET['rating_airlines'];
$a=intval($rating_airlines);
if($a=1 || $a=2 || $a=3 || $a=4 || $a=5 ) {
mysql_query("INSERT INTO Airlines(nom_airlines,rating_airlines)
VALUES ('$nom_airlines','$a') ");
echo "OK";}
else {
die('Requête invalide : ' . mysql_error());
}
?>
Вы не сравниваете значения, которые вы устанавливаете. Одиночное равенство устанавливает двойное сравнение.
if($a=1 || $a=2 || $a=3 || $a=4 || $a=5 )
Должно быть
if($a==1 || $a==2 || $a==3 || $a==4 || $a==5 )
Но может быть даже
if($a>=1 && $a <=5 )
Вы также должны переключиться с MySQL на MySQL или PDO. MySQL или PDO — каковы плюсы и минусы?
Также обратите внимание, что мимоходом $nom_airlines
непосредственно к вашему запросу вы как минимум открыты для инъекций, используйте mysql_real_escape_string.
$nom_airlines=mysql_real_escape_string($_GET['nom_airlines']);
Вы используете присваивающий оператор. Вы должны использовать равенство здесь.
if($a==1 || $a==2 || $a==3 || $a==4 || $a==5 ) {
Взгляните на эти 2:
Более того,
$a = $b Assign Sets $a to be equal to $b.
$a == $b Equal TRUE if $a is equal to $b.
$a === $b Identical TRUE if $a is equal to $b, and they are of the same type. (introduced in PHP 4)