Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Запись значений checkbox(true false) в бд MySql
Форумы портала PHP.SU » » Работа с СУБД » Запись значений checkbox(true false) в бд MySql

Страниц (1): [1]
 

1. sega174 - 09 Марта, 2018 - 21:13:02 - перейти к сообщению
Здравствуйте, необходимо записать в БД значение выбран ли checkbox или нет,у меня почему то записывается 0 в не зависимости выбран checkbox или нет если тип поля TINYINT, и если тип поля BIT то 1 в не зависимости выбран или нет.В чем ошибка? не правильно выбран тип поля? или ошибка в коде?

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3.  
  4.  
  5. if ( $_SERVER['REQUEST_METHOD'] === 'POST' ){
  6.  
  7.  
  8.         $host="localhost";
  9.     $user="root";
  10.     $pass="root"; //установленный вами пароль
  11.     $db_name="u997029462_bo";
  12.  
  13.     $link=mysqli_connect($host,$user,$pass);
  14.     mysqli_select_db($link,$db_name);
  15.     print_r($_POST);
  16.         $firstName              = $_POST['firstName'];
  17.         $lastName               = $_POST['lastName'];
  18.         $textarea1              = $_POST['textarea1'];
  19.         $ratEvent           = $_POST['ratEvent'];
  20.         $ratCom             = $_POST['ratCom'];
  21.         $ratingProg             = $_POST['ratingProg'];
  22.         $ratingPart         = $_POST['ratingPart'];
  23.         $ratingDisk         = $_POST['ratingDisk'];
  24.         $newprice_ch    =(isset($_POST['checkPub']))?1:0;
  25.         $resp           = $_POST['resp'];
  26.         $status         = $_POST['status'];
  27.  
  28.  
  29.  
  30.         if (isset($_POST["firstName"])||isset($_POST["lastName"])||isset($_POST["textarea1"])||isset($_POST["ratEvent"])||isset($_POST["ratCom"])||isset($_POST["ratingProg"])||isset($_POST["ratingPart"])||isset($_POST["ratingDisk"])||isset($_POST["checkPub"])||isset($_POST["resp"])||isset($_POST["status"]))
  31.         {
  32.     //Вставляем данные, подставляя их в запрос
  33.  
  34.                 $date = date('Y/m/d H:i:s');
  35.                 $sql = "INSERT INTO `comment` (`Name`,`surname`, `status`,`comment`, `EventRating`,`OrganizationalCommitteeRating`,`ProgramRatingOfTheEvent`, `RatingOfPartners`,`DiscothequeRating`,`Publication`,`Photo`,`Date`) VALUES ('$firstName','$lastName','$status','$textarea1','$ratEvent','$ratCom','$ratingProg','$ratingPart','$ratingDisk','$newprice_ch','$resp','$date')";
  36.         $query = mysqli_query($link,$sql);
  37.     //Если вставка прошла успешно
  38.     if ($query) {
  39.         echo $query;
  40.     } else {
  41.         echo $query;
  42.     }
  43. }
  44. }
  45.  
  46.  
2. andrewkard - 10 Марта, 2018 - 11:03:26 - перейти к сообщению
sega174 пишет:
$newprice_ch    =(isset($_POST['checkPub']))?1:0;

он присутствует в запросе, тут проще просто сделать так:
PHP:
скопировать код в буфер обмена
  1.  
  2. $newprice_ch = (int)$_POST['checkPub'];
  3.  

(Добавление)
sega174 пишет:
тип поля TINYINT

годится

 

Powered by ExBB FM 1.0 RC1