Mysql
 sql >> база данни >  >> RDS >> Mysql

Данните не се съхраняват с подготвени оператори

Бих предложил да обвиете целия bind_param и да го изпълните с условие if, тъй като изявлението няма да бъде подготвено, ако има дори малък проблем. В този случай предполагам, че може да се окаже, че типовете за всяка променлива/поле са грешни в някакъв момент - вероятно image / b част.

Можете да повторите типа на всеки с помощта на gettype което може да помогне за проследяването му:

echo gettype($first), gettype($email), gettype($phone),
     gettype($school), gettype($dob), gettype($father), 
     gettype($feereceived), gettype($due), gettype($image);


$db = new mysqli("localhost", "root","","learndb");

if ($db->connect_error) {
    die("Connection failed this is the error: " . $db->connect_error);
}

$stmt = $db->prepare("INSERT INTO studentrecords (`Name`, `email`, `Phone`, `school`,`dob`,`father`,`feereceived`,`due`,`image`) VALUES (?,?,?,?,?,?,?,?,?)");

if($stmt) {
    $stmt->bind_param("ssisssiib",$first,$email,$phone,$school,$dob,$father,$feereceived,$due,$image);
    $stmt->execute();
} else {
    echo 'Failed to prepare the sql statement';
}



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Запазете CSV файлове в mysql база данни

  2. Как да json_encode масив с френски акценти?

  3. Опитвайки се да инсталирате Perl-Mysql DBD, mysql_config не може да бъде намерен

  4. ВМЕСВАНЕ на стойности от една таблица в друга таблица

  5. Изтрийте sql редове, където идентификаторите нямат съвпадение от друга таблица