0

mysql データベースにデータを挿入する際に問題に直面しています。エラーは次のように表示されます。

<?php


    $firstname = $_POST['firstname'];
    $lastname = $_POST['lastname'];
    $fathername = $_POST['fathername'];
    $mothername = $_POST['Firstname'];
    $fatherjob = $_POST['fatherjob'];
    $motherjob = $_POST['motherjob'];
    $phone = $_POST['phone'];
    $mobile1 = $_POST['mobile1'];
    $mobile2 = $_POST['mobile2'];
    $address = $_POST['address'];
    $id=1;
    $roll=1;

    $sex = $_POST['sex'];
    $bloodgroup = $_POST['bloodgroup'];
    $class = $_POST['class'];
    $section = $_POST['section'];
    $day = $_POST['day'];
    $month = $_POST['month'];
    $year = $_POST['year'];
    $birthday=$day."-".$month."-".$year;


    $hostname_localhost ="localhost";
    $database_localhost ="school";
    $username_localhost ="root";
    $password_localhost ="";
    $localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost)
    or
    trigger_error(mysql_error(),E_USER_ERROR);

    mysql_select_db($database_localhost, $localhost);

    $sql = "INSERT INTO student_info VALUES ('".$id."',".$firstname."','".$lastname."','".$sex."','".$bloodgroup."','".$fathername."','".$mothername ."','".$fatherjob."','".$motherjob."','".$address."','".$birthday."','".$phone."','".$mobile1."','".$mobile2."','".$class."','".$section."','".$roll."')";

     mysql_query($sql) or die(mysql_error());
     echo "updated  succesfully";

?>

ところで、私は自動的に生成されるべき id と roll という名前のテーブルに 2 つの列を持っています...その場合、それは正しい SQL ですか ????

4

3 に答える 3

1

はい、構文エラーがあります。正しい構文は次のとおりです。

$sql = "INSERT INTO (id,firstname) VALUES (1,'Oussaki')";

あなたはそれに挿入したいフィールドを指定する必要があります..それはすべて幸運です

于 2013-03-14T23:10:12.563 に答える
0

あなたの場合の最良の方法は、以下のような列に言及するクエリを使用することです:

$sql = "INSERT INTO student_info (id, firstname, ..... ) VALUES ('".$id."',".$firstname."','".$lastname."','".$sex."','".$bloodgroup."','".$fathername."','".$mothername ."','".$fatherjob."','".$motherjob."','".$address."','".$birthday."','".$phone."','".$mobile1."','".$mobile2."','".$class."','".$section."','".$roll."')";
于 2013-03-14T23:11:16.527 に答える
-1

あなたはここで間違いを犯しました

 $sql = "INSERT INTO student_info VALUES ('".$id."',".$firstname."','".$lastname."','".$sex."','".$bloodgroup."','".$fathername."','".$mothername ."','".$fatherjob."','".$motherjob."','".$address."','".$birthday."','".$phone."','".$mobile1."','".$mobile2."','".$class."','".$section."','".$roll."')";

MYSQL にデータを挿入するには、最初column に挿入先と値を確認する必要があります。したがって、宣言する前にVALUES、まず格納先の列を指定する必要があります$id $firstname。同じことが他の人にも当てはまります。

また、前後などに「ドット」は必要ありません$id。データベースに次のような列があることを願っていますid firstname

たとえば、正しいコード

$sql = "INSERT INTO student_info (id,firstname) VALUES ('$id',$firstname');
于 2017-05-22T22:45:05.967 に答える