我对PHP& MySQL的。只是为朋友设计网站作为一种爱好,所以任何帮助都非常感谢。当我在页面上有一个简单的联系表单时,我会在提交信息时收到错误消息。这是PHP:
<?php
$con = mysql_connect("localhost","user","password");
if (!$con)) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database_name", $con);
$sql="INSERT INTO contact (first_name, last_name, email, phone, message)
VALUES
('$_POST[first_name]','$_POST[last_name]','$_POST[email]','$_POST[phone]','$_POST[message])";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
我输入了我的用户名&amp;必要时密码,但我保留“localhost”。它是否正确?我通过webhostingpad托管。我还在上面插入了我的数据库名称。这是我的HTML:
<!--Start of order form-->
<form id="contactform" method="POST" action="http://www.talephotography.com/insert.php">
<p><label>First Name:<br />
<input type="text" name="first_name" class="textfield" value="" />
</label></p>
<p><label>Last Name:<br />
<input type="text" name="last_name" class="textfield" value="" />
</label></p>
<p><label>Email: <br />
<input type="text" name="email" class="textfield" value="" />
</label></p>
<p><label>Phone: <br />
<input type="text" name="phone" class="textfield" value="" />
</label></p>
<p><label>Message: <br />
<textarea name="message" class="textarea" cols="45" rows="5"></textarea>
</label></p>
<p><input type="submit" name="submit" class="button" value="Submit" /></p>
</form>
<!--End of order form-->
我可以在任何必要的地方详细说明。
更改了部分代码,但只是将电子邮件地址发布到数据库。
mysql_select_db("databasename", $con);
$first = mysql_real_escape_string($_POST['first']);
$last = mysql_real_escape_string($_POST['last']);
$email = strip_tags(mysql_real_escape_string($_POST['email']));
$number = preg_replace('/[^0-9]/', '', $_POST['number']);
$number = (int) $number;
$sql="INSERT INTO contact (first, last, email, phone);
VALUES
('$first','$last','$email','$number')";
这是我的代码,但是当我检查我的数据库时,列出的唯一信息是电子邮件地址。
答案 0 :(得分:3)
localhost
是正确的。当您设置数据库时,它应该告诉您需要连接的地方。
除此之外,逃避你的----------输入!!!!
说真的,拿出这些变量并用mysql_real_escape_string
彻底清洗它们,然后将连接到查询中。你以后会感谢我。
答案 1 :(得分:0)
if语句中还有一个)
:
if (!$con)) {
应该是
if (!$con) {
答案 2 :(得分:0)
if (!$con)) it is wrong one extra ')' present here, remove ')' and then execute
例如
if (!$con){
//do something
}
答案 3 :(得分:0)
它的查询错了,你有一个;这是在您的查询中间。
$sql="INSERT INTO contact (first, last, email, phone);
VALUES
('$first','$last','$email','$number')";
注意它在第一行的末尾。将其更改为:
$sql="INSERT INTO contact VALUES
('$first','$last','$email','$number')";
答案 4 :(得分:0)
问题在于你的第三行
$con = mysql_connect("localhost","user","password");
if (!$con)) {
die('Could not connect: ' . mysql_error());
}
第三行还有一个额外的右括号)
。删除它然后瞧!
希望这会有所帮助。