sql >> Database teknologi >  >> RDS >> Mysql

Data gemmes ikke ved hjælp af udarbejdede erklæringer

Jeg vil foreslå, at du pakker hele bind_param og udfører med en if-betingelse, da sætningen ikke vil blive forberedt, hvis der overhovedet er et mindre problem. I dette tilfælde vil jeg gætte på, at det kunne være, at typerne for hver variabel/felt er forkert på et tidspunkt - sandsynligvis image / b del.

Du kan ekko typen af ​​hver ved at bruge gettype hvilket kan hjælpe med at spore det:

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. Bedste måde at installere hstore på flere skemaer i en Postgres-database?

  2. AWS Lambda - MySQL caching

  3. Asynkron replikering automatisk failover i MySQL 8.0.22

  4. Mærkelig MySQL skrivebeskyttet fejl