使用PHP添加到在WAMP服务器中创建的数据库?

时间:2013-12-03 13:08:32

标签: php html mysql wamp

好的,所以安装wamp服务器之后,我已经去了phpMyAdmin页面并创建了一个名为db2的数据库。之后,我在该数据库中创建了一个名为cnt2的表。它有5列,ID,Name,Mark1,Mark2和Mark3。所以,我有一个html php文件,允许你查看数据库中的信息,这很好用。但是,我的第二个html php文档应该允许您将新信息添加到数据库中。我之前已经关注了两个不同的教程,因为我之前从未做过PHP或任何HTML脚本,但它只是不起作用。我将在下面发布两个代码/脚本。

http://gyazo.com/467f8e3a066992c0753eec2d5912bdba<<数据库页面

http://gyazo.com/82a1c2107fb75c4c2941583449b4504a<<输入错误页面

数据库代码

<html>
<body>

<?php

$username = "root";
$password = "";
$hostname = "localhost";

$dbhandle = mysql_connect($hostname, $username, $password)
    or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";

$selected = mysql_select_db("db2",$dbhandle)
    or die("Could not selected db2");
echo "Coneted to db2<br>", "<br>";

$result = mysql_query("SELECT ID, Name, Mark1, Mark2, Mark3 FROM cnt2");

while($row = mysql_fetch_array($result)){
    echo "<b>Name: </b>".$row{'Name'}." <b>ID: </b>".$row{'ID'}." <b>First Mark: </b>".$row{'Mark1'}." <b>Second Mark: </b>".$row{'Mark2'}." <b>Third Mark: </b>".$row{'Mark3'}."<br>";
}

mysql_close($dbhandle);

?>

</body>
</html> 

输入代码

<HTML>
<?php

if($submit){
    $db = mysql_connect("localhost", "root","");
    mysql_select_db("db",$db);
    $sql = "INSERT INTO cnt2 (ID, Name, Mark1, Mark2, Mark3) VALUES ('$id','$name','$markone','$marktwo','$markthree','$result = mysql_query($sql))";
    echo "Thanks! Data received and entered.\n";
}

else{
    ?>
    <form method="post" action="datain.php">
    id:<input type="Int" name="ID"><br>
    name:<input type="Text" name="Name"><br>
    markone:<input type="Int" name="Mark1"><br>
    marktwo:<input type="Int" name="Mark2"><br>
    markthree:<input type="Int" name="Mark3"><br>
    <input type="Submit" name="submit" value="Enter information">
    </form>
<?  
}

?>
</HTML>

感谢您的帮助:)

3 个答案:

答案 0 :(得分:1)

您实际上并没有要求您的帖子标题在

中提取您的视频
<html>
<?php

if($submit){
    //need to request post vars here
    $id=mysql_real_escape_string($_POST['ID']);
    $name=mysql_real_escape_string($_POST['Name']);
    $markone=mysql_real_escape_string($_POST['Mark1']);
    $marktwo=mysql_real_escape_string($_POST['Mark2']);
    $markthree=mysql_real_escape_string($_POST['Mark3']);


    $db = mysql_connect("localhost", "root","");
    mysql_select_db("db",$db);
    $sql = "INSERT INTO cnt2 (ID, Name, Mark1, Mark2, Mark3) VALUES ('$id','$name','$markone','$marktwo','$markthree')";
    mysql_query($sql) or die(mysql_error()."<br />".$sql);
    echo "Thanks! Data received and entered.\n";
}

else{
    ?>
    <form method="post" action="datain.php">
    id:<input type="Int" name="ID"><br>
    name:<input type="Text" name="Name"><br>
    markone:<input type="Int" name="Mark1"><br>
    marktwo:<input type="Int" name="Mark2"><br>
    markthree:<input type="Int" name="Mark3"><br>
    <input type="Submit" name="submit" value="Enter information">
    </form>
<?php  // stop using short tags i've swapped it to a proper open
}

?>
</html>

此外,如果您只是使用不使用mysql_函数,请查看mysqli或pdo特别准备的语句,而不是直接将变量注入查询中,如上所述

答案 1 :(得分:0)

问题可能出在这一行:

$sql = "INSERT INTO cnt2 (ID, Name, Mark1, Mark2, Mark3) VALUES ('$id','$name','$markone','$marktwo','$markthree','$result = mysql_query($sql))";

正如您可能会注意到的(最后),它应该是这样的:

$sql = "INSERT INTO cnt2 (ID, Name, Mark1, Mark2, Mark3) VALUES ('$id','$name','$markone','$marktwo','$markthree')";
$result = mysql_query($sql);

正如所有其他人提到的那样,不要使用mysql_*功能,因为它们已被弃用,而不是使用PDO或至少mysqli

此外,部分

if($submit){
除非你之前在某处设置$submit变量,否则

可能永远不会满足......不应该是

if (isset($_POST['submit'])) {

???

而且,请阅读代码格式 - 您的代码看起来像废话......最好的选择是坚持使用PSR-0,PSR-1和PSR-3 - 使用Google阅读关于它...

答案 2 :(得分:0)

创建数据库android_api / **创建数据库** /

使用android_api / **选择数据库** /

创建表用户(    id int(11)主键auto_increment,    unique_id varchar(23)not null unique,    name varchar(50)not null,    email varchar(100)not null unique,    encrypted_pa​​ssword varchar(80)not null,    salt varchar(10)not null,    created_at datetime,    updated_at datetime null ); / **创建用户表** /