[英]Using PHP to add to a database created in WAMP server?
好的,所以在安装wamp服务器之后,我进入了phpMyAdmin页面并创建了一个名为db2的数据库。 之后,我在该数据库内部创建了一个名为cnt2的表。 它有5列,ID,名称,Mark1,Mark2和Mark3。 因此,我有一个HTML php文件,该文件可让您查看数据库中的信息,并且工作正常。 但是,我的第二个html php文档应该允许您将新信息添加到数据库中。 我已经遵循了2个不同的教程,因为我之前从未做过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>
谢谢你的帮助 :)
您实际上并没有要求您的帖子标头将您的var拉入
<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特别准备好的语句,而不是像上面所做的那样直接将变量注入查询中
问题可能在此行中:
$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_*
被弃用的mysql_*
函数,而不是坚持使用PDO或至少使用mysqli 。
另外,这部分
if($submit){
除非您在之前将$submit
变量设置在某处,否则可能永远不会满足...不应该
if (isset($_POST['submit'])) {
???
并且,请阅读有关代码格式的信息 -您的代码看起来像废话...最好的选择是坚持使用PSR-0,PSR-1和PSR-3-使用Google来阅读有关它的信息...
创建数据库android_api / **创建数据库** /
使用android_api / **选择数据库** /
创建表用户(id int(11)主键auto_increment,unique_id varchar(23)不为null唯一,名称varchar(50)不为null,电子邮件varchar(100)不为null唯一,encrypted_password varchar(80)不为null,salt varchar( 10)不为null,created_at datetime,updated_at datetime null); / **创建用户表** /
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.