创建表单并将数据存储在数据库中

我正在创建一个简单的表单,接受来自用户的输入并将该数据存储到数据库中.......但是 我收到以下错误..我尝试了很多解决方案..但不是单一的工作! Plz帮助我.. </ p>

这是我的代码..club.php </ p>

 &lt;!DOCTYPE HTML&gt; 
&lt; html&gt; \ n&lt; head&gt;
&lt; link rel =“stylesheet”type =“text / css”href =“clubcs.css”&gt;
&lt; title&gt;朋友俱乐部注册&lt; / title&gt;
&lt; / head&gt;
&lt; body&gt;
&lt; form action =“insert.php”method =“post”&gt;
&lt; div style =“text-align:center;”&gt;
&lt; img src =“logo.jpg”alt =“ img“height =”200“&gt;
&lt; / div&gt;
&lt; div class =”segment_header“style =”width:auto; text-align:Left;“&gt;
&lt; h1 style =”font- 尺寸:23px;“&gt;新会员注册&lt; / h1&gt;
&lt; / div&gt;
&lt; div class =”text_field“&gt;
&lt; p&gt;名字:&lt; input type =”text“name =” 第一个“&gt;&lt; / p&gt;
&lt; p&gt;姓氏:&lt; input type =”text“name =”last“&gt;&lt; / p&gt;
&lt; p&gt;地址:&lt; input type =” text“name =”addr“&gt;&lt; / p&gt;
&lt; p&gt;城市:&lt; input type =”text“name =”city“&gt;&lt; / p&gt;
&lt; p&gt;联系号码: &lt; input type =“text”name =“contact”&gt;&lt; / p&gt;
&lt; p&gt;&lt; input type =“submit”&gt;&lt; / p&gt;
& lt; / div&gt;
&lt; / form&gt;
&lt; / body&gt;
&lt; / html&gt;
</ code> </ pre>

和insert.php </ p>

<前> &lt;?php
$ con = mysqli_connect(“localhost”,“root”,“”);
if(!$ con)
{
die('无法连接:' 。 mysqli_error($ CON)); \ N}
mysqli_select_db($ CON, “clubinfo”);
$的第一= mysqli_real_escape_string($ CON,isset($ _ POST [ '第一']));
$的最后= mysqli_real_escape_string( $ CON,isset($ _ POST [ '最后']));
$的ADDR = mysqli_real_escape_string($ CON,isset($ _ POST [ '地址']));
$的城市= mysqli_real_escape_string($ CON,isset($ _POST ['city']));
$ contact = mysqli_real_escape_string($ con,isset($ _ POST ['contact']));
$ sql1 =“INSERT INTO clubdata(FirstName,LastName,Address,City,Contact no。)
VALUES('$ first','$ last','$ addr','$ city','$ contact')“;
if(!mysqli_query($ con,$ sql1))
{\ ndie('错误:'。mysqli_error($ con));
}
echo“您已成功注册我们!”;
mysqli_close($ con);
?&gt;
</ code> </ pre >
</ div>

展开原文

原文

I am creating simple form that accepts input from user and stores that data into database.......but I am getting the following error..I've tried many solutions..bt not single works!! Plz help me..

Here's My code..club.php

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="clubcs.css">
<title>Friends Club Registration</title>
</head>
<body>
<form action="insert.php" method="post">
<div style="text-align:center;">
<img src="logo.jpg" alt="img" height="200">
</div>
<div class="segment_header" style="width:auto;text-align:Left;">
   <h1 style="font-size:23px;">New Member Registration</h1>
</div>
<div class="text_field">
<p>First Name:<input type="text" name="first"></p>
<p>Last Name:<input type="text" name="last"></p>
<p>Address:<input type="text" name="addr"></p>
<p>City:<input type="text" name="city"></p>
<p>Contact no.:<input type="text" name="contact"></p>
<p><input type="submit"></p>
</div>
</form>
</body>
</html>

and insert.php

<?php
$con=mysqli_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"clubinfo");
$first=mysqli_real_escape_string($con,isset($_POST['first']));
$last=mysqli_real_escape_string($con,isset($_POST['last']));
$addr=mysqli_real_escape_string($con,isset($_POST['addr']));
$city=mysqli_real_escape_string($con,isset($_POST['city']));
$contact= mysqli_real_escape_string($con,isset($_POST['contact']));
$sql1="INSERT INTO clubdata (FirstName, LastName, Address, City, Contact no.)
VALUES ('$first', '$last', '$addr', '$city', '$contact')";
if (!mysqli_query($con,$sql1))
{
die('Error: ' . mysqli_error($con));
}
echo "You have successfully registered with us!";
mysqli_close($con);
?>

douxing9228
douxing9228 您应该使用medoo,并使所有数据库查询变得简单。
5 年多之前 回复
dongyi9082
dongyi9082 别客气。考虑接受我的答案来关闭问题并标记为已解决。如果你不知道如何,这就是meta.stackexchange.com/a/5235。欢迎来到StackOverflow。
大约 6 年之前 回复
dqk94069
dqk94069 试试('“。$first。”','“。$last。”','“。$addr。”','“。$city。”')
大约 6 年之前 回复
dtz8044
dtz8044 -ii-最后......错误被删除!!谢谢:)
大约 6 年之前 回复
doutuobao9736
doutuobao9736 是的..我也这样做了!
大约 6 年之前 回复
doulaozhang0238
doulaozhang0238 您之前提到您删除了联系号码。来自您的查询。你删除了City之后的逗号---(FirstName,LastName,Address,City,<=?读为(FirstName,LastName,Address,City)和更改('$first','$last','$addr)','$city','$contact')to('$first','$last','$addr','$city')
大约 6 年之前 回复
dtdr84101
dtdr84101 #Fred-ii-我得到新的错误为“语法错误,意外';'“经过你建议的校正后!(代码中没有任何语法错误,因为我检查代码3-4次)
大约 6 年之前 回复
doujiong2533
doujiong2533 添加其他信息重新加载我的答案。其中一个是关于isset
大约 6 年之前 回复
dsgdhtr_43654
dsgdhtr_43654 现在,我已经删除联系人没有列bt仍然我得到相同的错误!
大约 6 年之前 回复
duanlei7101
duanlei7101 重新加载您现在所在的页面。
大约 6 年之前 回复
duanqiao0153
duanqiao0153 bt@Fred-ii-s答案在哪里?
大约 6 年之前 回复
dongnaopa6200
dongnaopa6200 那么,看看下面的答案。联系号码专栏绝对是(一个......)的问题。
大约 6 年之前 回复
dttwois6098
dttwois6098 我已经尝试过......
大约 6 年之前 回复
dongshi2588
dongshi2588 对不起......我忘记了...bt错误是“no'附近的语法错误。)第1行的VALUES(1,1,1,1,1)'
大约 6 年之前 回复
dqfwcj0030
dqfwcj0030 你应该尝试使用“为你的列名”插入clubdata('Firstname','LastName','Address','City','Contactno。')...
大约 6 年之前 回复
dongzhuang6177
dongzhuang6177 接受@Fred-ii-的答案如下。他是对的。
大约 6 年之前 回复
dongtuan1594
dongtuan1594 'no。附近的语法错误)第1行的值(1,1'`,1,1',1)'
大约 6 年之前 回复
dtk31564
dtk31564 你说“但是我收到了以下错误......我尝试了很多解决方案”。你没有表现出来。
大约 6 年之前 回复
dtkf64283
dtkf64283 错误是在运行代码之后,即在提交表单之后。
大约 6 年之前 回复
douzen3516
douzen3516 错误在哪里?
大约 6 年之前 回复

2个回答



错误(在您的问题中未显示)基于此联系号码</ code>作为您的列。</ p>

首先,它包含一个空格和一个句点。 如果这是您的实际列名,您应该考虑将其重命名为 Contact_no </ code>或使用它周围的反引号。</ p>

即:</ p>

< pre> `联系号码。
</ code> </ pre>

或删除句点并将其重命名为(和数据库中):</ p>

 联系no 
</ code> </ pre>

更改为</ p>

 (FirstName,LastName,Address, 城市,`联系号码。)
</ code> </ pre>

或删除期间并在DB中将其重命名为联系号</ code> </ p>

 (FirstName,LastName,Address,City,Contact no
</ code> </ pre>

或将其重命名为 Contact_no </ code>带下划线</ p>

 (FirstName,LastName,Address,City,Contact_no)
</ code> </ pre>

使用 这种命名惯例不被视为良好做法。 MySQL会抱怨它。</ p>


有关表/列标识符的更多信息,请访问MySQL.com网站:</ p>


  • http:// dev。 mysql.com/doc/refman/5.0/en/identifier-qualifiers.html </强> </ LI>
    </ UL>


    另外 ,从变量中删除所有 isset </ code>。</ p>

      $ first = mysqli_real_escape_string($ con,$ _ POST ['first']); 
    < /code>

    etc.

    nn

    您可能还会注入MySQL不同意的字符,撇号,斜线等。仅使用 mysqli_real_escape_string </ code>是不够的。 添加 stripslashes()</ code> </ p>

    即:</ p>

      $ first = stripslashes($ _ POST ['first']  ); 
    $的第一= mysqli_real_escape_string($ CON,$ _ POST [ '第一']);
    </代码> </ PRE>

    等</ p>

    使用 准备好的陈述</ strong> 会更容易使用。</ p>
    </ div>

展开原文

原文

The error (unshown in your question) is based on this Contact no. being your column.

First, it contains a space and a period. If that is your actual column name, you should consider renaming it to Contact_no or use backticks around it.

I.e.:

`Contact no.`

or removing the period and rename it to (and in your DB):

`Contact no`

change to

(FirstName, LastName, Address, City, `Contact no.`)

or remove the period and rename it in DB to Contact no

(FirstName, LastName, Address, City, `Contact no`)

or rename it in your DB to Contact_no with an underscore

(FirstName, LastName, Address, City, Contact_no)

using that type of naming convention is not considered good practice. MySQL will complain about it.


For more information on table/column indentifiers, visit the MySQL.com website:


Also, remove all the isset from your variables.

$first=mysqli_real_escape_string($con,$_POST['first']);

etc.

You may also be injecting characters that MySQL does not agree with, apostrophes, slashes etc.. Using only mysqli_real_escape_string is not sufficient. Add stripslashes()

I.e.:

$first=stripslashes($_POST['first']);
$first=mysqli_real_escape_string($con,$_POST['first']);

etc.

Using prepared statements would be easier to use.



club.php中没有任何变化..
nffw在insert.php中的变化...... </ p>

 &lt; html&gt; 
&lt; head&gt;
&lt; link rel =“stylesheet”type =“text / css”href =“clubcs.css”/&gt;
&lt; / head&gt;
&lt; body&gt;

&lt;?php
$ con = mysqli_connect(“localhost”,“root”,“”);
if(!$ con)
{
die('无法连接:'。mysqli_error($ con)) ; \ N}
mysqli_select_db($ CON, “clubinfo”);
$的第一=的stripslashes($ _ POST [ '第一']);
$的第一= mysqli_real_escape_string($ CON,$ _ POST [ '第一']);

$的最后=的stripslashes($ _ POST [ '最后']);
$的最后= mysqli_real_escape_string($ CON,$ _ POST [ '最后']);
$的ADDR =的stripslashes($ _ POST [ '地址']) ;
$的ADDR = mysqli_real_escape_string($ CON,$ _ POST [ '地址']);
$的城市=的stripslashes($ _ POST [ '城市']);
$的城市= mysqli_real_escape_string($ CON,$ _ POST [” city']);
$ contact = stripslashes($ _ POST ['contact']);
$ contact = mysqli_real_escape_string($ con,$ _ POST ['contact']);
$ sql1 =“INSERT INTO clubdata( FirstName,LastName,Address,City,Contact_no)
VALUES('$ first','$ last','$ addr','$ city', '$ contact')“;
if(!mysqli_query($ con,$ sql1))
{
die('错误:'。 mysqli_error($ con));
}
echo“您已成功注册我们!”;
mysqli_close($ con);
?&gt;

&lt; / body&gt;
&lt; / html&gt;
</ code> </ pre>

再次感谢@Fred -ii- !! </ p>
</ div>

展开原文

原文

No changes in club.php.. few changes in insert.php...

<html>
<head>
<link rel="stylesheet" type="text/css" href="clubcs.css" />
</head>
<body>
<?php
$con=mysqli_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"clubinfo");
$first=stripslashes($_POST['first']);
$first=mysqli_real_escape_string($con,$_POST['first']);
$last=stripslashes($_POST['last']);
$last=mysqli_real_escape_string($con,$_POST['last']);
$addr=stripslashes($_POST['addr']);
$addr=mysqli_real_escape_string($con,$_POST['addr']);
$city=stripslashes($_POST['city']);
$city=mysqli_real_escape_string($con,$_POST['city']);
$contact=stripslashes($_POST['contact']);
$contact=mysqli_real_escape_string($con,$_POST['contact']);
$sql1="INSERT INTO clubdata (FirstName, LastName, Address, City,Contact_no)
VALUES ('$first', '$last', '$addr', '$city', '$contact')";
if (!mysqli_query($con,$sql1))
{
die('Error: ' . mysqli_error($con));
}
echo "You have successfully registered with us!";
mysqli_close($con);
?> 
</body>
</html>

Thank you @Fred -ii- once again!!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问