我不能让我的密码起作用。我对php/mysql很陌生,但我确信我在这里做了很多事情。我不会犯任何错误的。在下面发布的代码中,如果我将信息放入feilds并单击屏幕上的按钮,屏幕就会出现刷新,但是当我检查我创建的mysql数据库时,这个信息就不存在了。我知道我与数据库的连接是有效的,因为我已经将假数据输入到数据库中,而网页正在把它拉过来并显示得很好。
db.php是一个单独的文件,包含用于连接数据库(服务器、用户名、密码)的格式化php代码,我知道该文件工作,因为这也是我将数据拖到网页中的方式。如果需要,我的服务器被设置为php 4.0.10.7,不幸的是,我不能更改它。
下面是我的代码:
<div class="a" id="add_customer">
<form id="customerdata" name="customerdata">
<input type="text" align="center" id="name" name="NAME" placeholder="Customer Name">
<input type="text" align="center" id="address" name="ADDRESS" placeholder="Address">
<b>Paid?:</b>
<select id="PAID" name="PAID">
<option value="select">Make a Selection</option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
<input type="text" align="center" id="comments" name="COMMENTS" placeholder="Comments">
<input type="submit" id="submit" name="submit" value="Add Customer">
</form>
</div>
<?php
if(isset($_POST['submit']))
{
include('db.php');
$database="mysql_database";
$con = mysql_connect($server,$username,$password);
$sql="INSERT INTO mysql_database (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('$_POST[NAME]','$_POST[ADDRESS]','$_POST[PAID]','$_POST[COMMENTS]')";
$a=mysql_query($sql);
if (!$a)
{
die("Error addding record. " . mysql_error());
}
else
{
echo "1 record added";
}
mysql_close($con);
}
?>发布于 2015-08-05 07:17:37
<div class="a" id="add_customer">
<form id="customerdata" name="customerdata" method="post">
<input type="text" align="center" id="name" name="name" placeholder="Customer Name">
<input type="text" align="center" id="address" name="address" placeholder="Address">
<b>Paid?:</b>
<select id="paid" name="paid">
<option value="select">Make a Selection</option>
<option value="yes">Yes</option>
<option value="no">No</option>
</select>
<input type="text" align="center" id="comments" name="comments" placeholder="Comments">
<input type="submit" id="submit" name="submit" value="Add Customer">
</form>
</div>
<?php
if(isset($_POST['submit']))
{
include('db.php');
$database="mysql_database";
$con = mysql_connect($server,$username,$password);
$name = $_POST['name'];
$address= $_POST['address'];
$paid= $_POST['paid'];
$comments= $_POST['comments'];
$sql="INSERT INTO mysql_database (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('$name','$address','$paid','$comments')";
$a=mysql_query($sql);
if (!$a)
{
die("Error addding record. " . mysql_error());
}
else
{
echo "1 record added";
}
mysql_close($con);
}
?>发布于 2015-08-05 07:20:49
mysql_*函数,请使用mysqli_*。INSERT INTO之后。您应该将所有经过消毒的POST输入设置为单独的变量,但是,这是当前代码可能的样子:
$con = mysqli_connect($server,$username,$password,$database);
$sql="INSERT INTO table_name (NAME, ADDRESS, PAID, COMMENTS)
VALUES
('".mysqli_real_escape_string($_POST['NAME'])."','".mysqli_real_escape_string($_POST['ADDRESS']."','".mysqli_real_escape_string($_POST['PAID']."','".mysqli_real_escape_string($_POST['COMMENTS']."')";
$a=mysqli_query($con,$sql);
if ($a)
{
echo "1 record added";
}
mysqli_close($con);发布于 2015-08-05 07:17:57
<?php
include('db.php'); //include db first
$con = mysql_connect($server,$username,$password); //connect to db
if(isset($_POST['submit'])) {
$database="mysql_database"; //I think this will not work.
$sql="INSERT INTO $database (NAME, ADDRESS, PAID, COMMENTS) VALUES ('$_POST[NAME]','$_POST[ADDRESS]','$_POST[PAID]','$_POST[COMMENTS]')";
//Try this
$sql = "INSERT INTO (your_db_name) (NAME, ADDRESS, PAID, COMMENTS) VALUES ('".$_POST['name']."','".$_POST['address']."','".$_POST['paid']."','".$_POST['comments']."')"; //I used concantenation here
$a=mysql_query($sql);
}
if (!$a) {
die("Error addding record. " . mysql_error());
}else{
echo "1 record added";
}
mysql_close($con);
?>
Try this piece of code. https://stackoverflow.com/questions/31825673
复制相似问题