BG Development


  Reply to this topicStart new topicStart Poll

> Грешка при въвеждането на база данни, PHP, MYSQL
cpuin
Публикувано на: 27-10-2021, 18:55
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 909
Регистриран на: 06.03.12



Опитвам се да въведа парасметри в база данни, но получавам някаква странна грешка:

CODE

// Check input errors before inserting in database
   if(empty($name_err) && empty($address_err)){
       // Prepare an insert statement
       
       
       $sql = "INSERT INTO employees (egn, firstname, middlename, surname, sex, country, city, address, datein, dateout, addiction) VALUES (?,?, ?, ?,?, ?, ?, ?, ?, ?, ?)";
       
       if($stmt = mysqli_prepare($link, $sql)){
           // Bind variables to the prepared statement as parameters
           mysqli_stmt_bind_param($stmt, "sss", $param_egn, $param_name, $param_middlename, $param_surname, $param_sex, $param_country, $param_city, $param_address, $param_datein, $param_dateout, $param_addiction);
           
           // Set parameters
           $param_egn = $egn;
           $param_name = $name;
           $param_middlename = $middlename;
           $param_surname = $surname;
           $param_country = $country;
           $param_city = $city;
           $param_address = $address;
           $param_sex = $sex;
           $param_datein = $datein;
           $param_dateout = $dateout;
           $param_addiction = $addiction;
           
           // Attempt to execute the prepared statement
           if(mysqli_stmt_execute($stmt)){
               // Records created successfully. Redirect to landing page

               header("location: welcome.php");
               exit();
           } else{
               echo "Oops! Something went wrong. Please try again later.";
           }
       }
       
       // Close statement
       mysqli_stmt_close($stmt);
   }
   
   // Close connection
   mysqli_close($link);


mysqli_stmt_close() expects parameter 1 to be mysqli_stmt, boolean given

Не мога да разбера какво очаква да му се подаде?

Благодаря предварително


--------------------
"Трудните неща изискват време, невъзможните - просто малко повече"
PMEmail Poster
Top
thrawn
Публикувано на: 27-10-2021, 19:33
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 3224
Регистриран на: 17.01.17



То си пише какво трябва да е и какво му подаваш...
PMEmail Poster
Top
relax4o
Публикувано на: 27-10-2021, 21:30
Quote Post



Име:
Група: Потребител
Ранг: Почетен член

Мнения: 2627
Регистриран на: 04.04.07



Изглежда $stmt ти връща false поради някаквa причина и ти се опитваш да затвориш стейтмънта извън if-a, където нямаш проверка дали имаш върнат mysqli_stmt обект или false.

Вкарай го в if-а и също провери защо mysqli_prepare() би ти връщал false.


--------------------
Бисери :D

QUOTE (oveRLuckEd)
Ползваш някоя нова версия на PHP, която е вече ооп ориентирана и заради това ти я изкарва тази грешка.


QUOTE (nbacool2)
Щом няма input полета, значи няма откъде да се направи SQL инжекция Very Happy
PM
Top
1 потребители преглеждат тази тема в момента (1 гости, 0 анонимни потребители)
Потребители, преглеждащи темата в момента:

Topic Options Reply to this topicStart new topicStart Poll

 


Copyright © 2003-2019 | BG Development | All Rights Reserved
RSS 2.0