创建第二个表并添加数据

时间:2012-10-29 16:37:02

标签: php mysql

我从学校完成了这项任务,我对如何做到这一点感到困惑和迷失。 所以基本上我必须创建2个表到数据库,但我必须从PHP创建。

我创建了第一个表,但由于某种原因没有创建第二个表。 然后,我必须分别填充10和20个样本记录的第一和第二个表,填充,是否意味着添加更多假用户?如果是这样,如下所示的代码?

*我在填充的第二部分也遇到错误

非常感谢您的帮助。

<?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 个答案:

答案 0 :(得分:0)

这里有一个额外的逗号,可能会导致错误:

friend_id2 INT NOT NULL,

答案 1 :(得分:0)

应该是:

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

我希望我现在可以上学了。)

答案 2 :(得分:0)

其他人已经解决了您的一个问题,因此这与您无法向表中添加值(填充)有关。您的连接链接是$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

的手册

答案 3 :(得分:0)

您在代码中遇到以下错误: 1)$ queryResult3 = @mysqli_query($ dbConnect,$ sqlSt3) 是正确的:$ queryResult3 = @mysqli_query($ dbConnect,$ sqlSt3);  2)$ sqlMyfriends =“CREATE TABLE myfriends           (
          friend_id1 INT NOT NULL,
          friend_id2 INT NOT NULL,           )“; 是正确的:$ sqlMyfriends =“CREATE TABLE myfriends           (
          friend_id1 INT NOT NULL,
          friend_id2 INT NOT NULL)“; 3)$ queryResult3 = @mysqli_query($ conn,$ sqlSt3); 是正确的:$ queryResult3 = mysqli_query($ conn,$ sqlSt3);

代码正确是:

无法连接到服务器!

“);         $ selectData = @mysqli_select_db($ conn,$ dbnm);         如果(!$ selectData)         {             死(“

未选择数据库

”);         }         //第一桌             $ sql =“CREATE TABLE IF NOT NOT EXISTS`triends`           (           `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未签名,           PRIMARY KEY(`friend_id`)           )“;         //第二张桌子           $ 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);         //填充第一个表格         $ 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($ conn,$ sqlSt3);         //填充第二个表格         $ sqlSt13 =“INSERT INTO myfriends VALUES(1,2)”;         $ queryResult13 = @ mysqli_query($数据库连接,$ sqlSt13);         mysqli_close($康恩);     ?&GT;

我希望能帮到你!