0

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

我在必要时输入了我的用户名和密码,但我将“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')";

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

4

5 回答 5

3

localhost如果数据库服务器与 Web 服务器在同一台机器上,则该选项是正确的。当您设置数据库时,它应该在某个地方告诉您需要连接的内容。

除此之外,逃避你的-----------ing输入!!!!

说真的,把这些变量彻底清洗干净mysql_real_escape_string,然后将它们连接到查询中。你以后会感谢我的。

于 2012-04-26T16:31:40.477 回答
0

它的查询是错误的,你有一个 ; 那是在您的查询中间。

$sql="INSERT INTO contact (first, last, email, phone);
   VALUES
('$first','$last','$email','$number')";

请注意它在第一行的末尾。将其更改为:

$sql="INSERT INTO contact  VALUES
('$first','$last','$email','$number')";
于 2012-05-31T09:49:27.200 回答
0

问题出在你的第三行

$con = mysql_connect("localhost","user","password");
if (!$con))  {
die('Could not connect: ' . mysql_error());
}

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

希望这可以帮助。

于 2012-10-20T11:38:57.430 回答
0

)您的 if 语句中有一个额外的内容:

if (!$con))  {

应该

if (!$con)  {
于 2012-04-26T16:48:00.847 回答
0
 if (!$con)) it is wrong one extra ')' present here, remove ')' and then execute

例如

       if (!$con){

        //do something

           }
于 2012-04-26T17:14:42.753 回答