初学者麻烦PHP& MySQL的

时间:2012-04-26 16:28:55

标签: php mysql html css

我对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')";

这是我的代码,但是当我检查我的数据库时,列出的唯一信息是电子邮件地址。

5 个答案:

答案 0 :(得分:3)

如果数据库服务器与Web服务器位于同一台计算机上,则

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());
}

第三行还有一个额外的右括号)。删除它然后瞧!

希望这会有所帮助。