sql >> Databasteknik >  >> RDS >> Mysql

Data som inte lagras med förberedda uttalanden

Jag skulle föreslå att du lindar in hela bind_param och kör med ett if-villkor eftersom uttalandet inte kommer att förberedas om det ens finns ett mindre problem. I det här fallet skulle jag gissa att det kan vara så att typerna för varje variabel/fält är fel någon gång - förmodligen image / b del.

Du kan upprepa typen av varje med gettype vilket kan hjälpa till att spåra 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. Hur man hittar standardfilplatsen för datafiler och loggfiler i SQL Server

  2. SQL Server Senaste versioner, upplagor och SQL Server History

  3. Kontrollera om det finns en databas (MySQL) och om inte skapa den i PHP

  4. Vad är det snabbaste sättet att dumpa och ladda en MySQL InnoDB-databas med mysqldump?