我的表单不会提交插入我的数据库的数据,但它只显示一个没有错误消息的空页面,并且不会执行回显。
这是php代码
<?php
if(isset($_POST['submit']))
{
$username="root";
$password="";
$db_host="localhost";
$database="logintrial";
$con = mysql_connect($db_host,$username,$password);
mysql_select_db($database,$con);
$sql="INSERT INTO abonne (N_A,NUMBER,TYP,NO_FTX,ADDRESS,D_R,D_E,lengthone,
P,lengthtwo,GARDY,A,B,C_F,POLES)
VALUES
('$_POST[N_A]','$_POST[NUMBER]','$_POST[TYP]','$_POST[NO_FTX]','$_POST[ADDRESS]',"
. "'$_POST[D_R]','$_POST[D_E]','$_POST[lengthone]','$_POST[P]''$_POST[lengthtwo]',"
. "'$_POST[GARDY]','$_POST[A]''$_POST[B]',$_POST[C_F]','$_POST[POLES]')";
$a=mysql_query($sql);
if (!$a)
{
echo mysql_error();
}
else
{
echo "1 record added";
}
}
答案 0 :(得分:0)
您的SQL查询只有2个语法错误:
. "'$_POST[D_R]','$_POST[D_E]','$_POST[lengthone]','$_POST[P]''$_POST[lengthtwo]',"
// ^^^^
// error here!
."'$_POST[GARDY]','$_POST[A]''$_POST[B]',$_POST[C_F]','$_POST[POLES]')";
// ^^^^
// error here also!
只需将逗号放在两个字段之间:
. "'$_POST[D_R]','$_POST[D_E]','$_POST[lengthone]','$_POST[P]','$_POST[lengthtwo]',"
."'$_POST[GARDY]','$_POST[A]','$_POST[B]',$_POST[C_F]','$_POST[POLES]')";
作为建议,在开发时,应将correct error reporting设置为发现语法(和其他)错误。总结一下,只需添加:
ini_set('display_errors', 1);
error_reporting(E_ALL); // If running PHP < 5.4 then E_ALL | E_STRICT
在你的脚本的乞讨中(甚至更好地改变dev机器上的php.ini)。
答案 1 :(得分:-1)
试试这样:
$con=mysqli_connect("localhost","root","if you have password to db use it here otherwise leave it empty","logintrial");
$qry="insert into abonne (N_A,NUMBER,TYP,NO_FTX,ADDRESS,D_R,D_E,lengthone, P,lengthtwo,GARDY,A,B,C_F,POLES)
values('$_POST[N_A]','$_POST[NUMBER]','$_POST[TYP]','$_POST[NO_FTX]','$_POST[ADDRESS]'," . "'$_POST[D_R]','$_POST[D_E]','$_POST[lengthone]','$_POST[P]''$_POST[lengthtwo]'," . "'$_POST[GARDY]','$_POST[A]''$_POST[B]',$_POST[C_F]','$_POST[POLES]')";
$res=mysqli_query($con,$qry);