0

私は学校からこの仕事をしています、そして私はこれをどうやってやったのか混乱して迷っています。したがって、基本的にデータベースに2つのテーブルを作成する必要がありますが、phpから作成する必要があります。

最初のテーブルを作成しましたが、何らかの理由で2番目のテーブルは作成していません。次に、最初のテーブルと2番目のテーブルにそれぞれ10個と20個のサンプルレコードを入力する必要があります。これは、偽のユーザーを追加するようなものですか?もしそうなら、それは以下に示すコードのようですか?

*2番目の部分の入力でもエラーが発生しました

助けてくれてありがとう。

<?php
        $host = "host";
        $user = "me";
        $pswd = "password";
        $dbnm = "db";

        $conn = @mysqli_connect($host, $user, $pswd, $dbnm);
        if (!$conn)
            die ("<p>Couldn't connect to the server!<p>");

        $selectData = @mysqli_select_db ($conn, $dbnm);
        if(!$selectData)
        {
            die ("<p>Database Not Selected</p>");
        }

        //1st table
            $sql =  "CREATE TABLE IF NOT EXISTS  `friends`  
          (  
          `friend_id` INT NOT NULL auto_increment,   
          `friend_email` VARCHAR(20) NOT NULL,  
          `password` VARCHAR(20) NOT NULL,  
          `profile_name` VARCHAR(30) NOT NULL,  
          `date_started` DATE NOT NULL,  
          `num_of_friends` INT unsigned,  
          PRIMARY KEY (`friend_id`)  
          )";

        //2nd table
          $sqlMyfriends = "CREATE TABLE `myfriends`
          (  
          `friend_id1` INT NOT NULL,   
          `friend_id2` INT NOT NULL,
          )";


        $query_result1 = @mysqli_query($conn, $sql);
        $query_result2 = @mysqli_query($conn, $sqlMyfriends);

        //populating 1st table
        $sqlSt3="INSERT INTO friends (friend_id, friend_email, password, profile_name, date_started, num_of_friends) 
                VALUES('NULL','email@email.com','123','abc','2012-10-25', 5)";
        $queryResult3 = @mysqli_query($dbConnect,$sqlSt3)


        //populating 2nd table
        $sqlSt13="INSERT INTO myfriends VALUES(1,2)";
        $queryResult13=@mysqli_query($dbConnect,$sqlSt13);


        mysqli_close($conn);

    ?>
4

4 に答える 4

0

コードに次のエラーがあります: 1) $queryResult3 = @mysqli_query($dbConnect,$sqlSt3) 正しい: $queryResult3 = @mysqli_query($dbConnect,$sqlSt3); 2) $sqlMyfriends = "CREATE TABLE myfriends (
friend_id1INT NOT NULL,
friend_id2INT NOT NULL, )"; 正解: $sqlMyfriends = "CREATE TABLE myfriends (
friend_id1INT NOT NULL,
friend_id2INT NOT NULL)"; 3) $queryResult3 = @mysqli_query($conn,$sqlSt3); 正しい: $queryResult3 = mysqli_query($conn,$sqlSt3);

正しいコードは次のとおりです。

サーバーに接続できませんでした。

"); $selectData = @mysqli_select_db ($conn, $dbnm); if(!$selectData) { die ("

データベースが選択されていません

mysqli_close($conn); ?> mysqli_close($conn); ?>

お役に立てれば幸いです!

于 2012-10-29T19:35:18.940 に答える
0

ここに余分なコンマがあり、エラーが発生する可能性があります:

friend_id2INT NOT NULL、

于 2012-10-29T16:39:47.390 に答える
0

他の人はあなたの問題の 1 つに対処しているので、これはテーブルに値を追加 (移入) できないことに関連しています。あなたの接続リンクは$conn-

$conn = @mysqli_connect($host, $user, $pswd, $dbnm);
ie.
   $query_result1 = @mysqli_query($conn, $sql);

ただし、テーブルに値を追加するときに、接続リンクを次のように変更しました$dbConnect

...
$queryResult3 = @mysqli_query($dbConnect,$sqlSt3)
...
$queryResult13=@mysqli_query($dbConnect,$sqlSt13);

テーブルに複数の値を挿入するには、コンマと追加の括弧を追加できます,()-

    //populating 2nd table
    $sqlSt13="INSERT INTO myfriends VALUES(1,2),(2,3),(3,1)";
    $queryResult13=@mysqli_query($conn,$sqlSt13); 

または、 を使用してmysqli_multi_query、それぞれをリストすることもできます-

    //populating 2nd table
    $sqlSt13  ="INSERT INTO myfriends VALUES (1,2);";
    $sqlSt13 .="INSERT INTO myfriends VALUES (2,3);";
    $sqlSt13 .="INSERT INTO myfriends VALUES (3,1);";
    $queryResult13=@mysqli_query($conn,$sqlSt13);

マニュアルを参照してくださいmysqli_multi_query- php.net/manual/en/mysqli.multi-query.php

于 2012-10-29T16:58:29.380 に答える
0

次のようにする必要があります。

  $sqlMyfriends = "CREATE TABLE `myfriends` (  
  `friend_id1` INT NOT NULL,   
  `friend_id2` INT NOT NULL
  )";

私は今学校にいることができたらいいのにと思います:)

于 2012-10-29T16:40:31.720 に答える