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. PostgreSQL緯度経度クエリ

    2. Oracleのカーソルを使用してレコードを挿入および更新します

    3. PostgreSQLで(タイムゾーンなしで)現在の時刻を取得する方法

    4. Mysql Connector / JがDATEとTIMEのタイムゾーンを変換しないようにするにはどうすればよいですか?