我从学校完成了这项任务,我对如何做到这一点感到困惑和迷失。 所以基本上我必须创建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);
?>
答案 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;我希望能帮到你!