通过PHP将数据插入MySQL,未知索引,我已经定义了它们?
我正试图为一个学校项目建立一个网络商店,但我在订单部分遇到了问题。据我所知,我已经定义了所有变量,但它仍然显示“未识别索引” 下面是html代码的表单部分(名称是丹麦语的,忽略这些)通过PHP将数据插入MySQL,未知索引,我已经定义了它们?,php,mysql,insert,Php,Mysql,Insert,我正试图为一个学校项目建立一个网络商店,但我在订单部分遇到了问题。据我所知,我已经定义了所有变量,但它仍然显示“未识别索引” 下面是html代码的表单部分(名称是丹麦语的,忽略这些) 灌木丛 福纳文: Efternavn: 土地: 作者: 皮卡: 安塔尔个人: 帕克: 科多尔: 下面是我的php代码: $host="localhost"; $user="root"; $password=""; $database="webshop";
灌木丛
福纳文:
Efternavn:
土地:
作者:
皮卡:
安塔尔个人:
帕克:
科多尔:
下面是我的php代码:
$host="localhost";
$user="root";
$password="";
$database="webshop";
$table="bestilling";
$fnavn = $_POST['fornavn'];
$enavn = $_POST['efternavn'];
$land = $_POST['land'];
$by = $_POST['by'];
$pickup = $_POST['pickup'];
$antal = $_POST['antal'];
$pakke = $_POST['pakke'];
$kodeord = $_POST['kodeord'];
// Forbindelse til server
mysql_connect($host, $user, $password)or die("Kan ikke forbinde til server");
mysql_select_db($database)or die("Kan ikke forbinde til databasen");
$bestil = "INSERT INTO $table(Fornavn, Efternavn, Land, By, Pickup, Antal, Pakke, Kodeord)VALUES('$fnavn', '$navn', '$land', '$by', '$pickup', '$antal', '$pakke', '$kodeord')";
$result = mysql_query($bestil);
if ($result){
echo("<br>Din bestilling er blevet oprettet");
}else{
echo(mysql_error());
}
mysql_close();
?>
$host=“localhost”;
$user=“root”;
$password=“”;
$database=“webshop”;
$table=“bestilling”;
$fnavn=$_POST['fornavn'];
$enavn=$_POST['efternavn'];
$land=$_POST['land'];
$by=$_POST['by'];
$pickup=$_POST['pickup'];
$antal=$_POST['antal'];
$pakke=$_POST['pakke'];
$kodeord=$_POST['kodeord'];
//Forbindelse til服务器
mysql_connect($host,$user,$password)或die(“Kan-ike-forbinde-til-server”);
mysql_select_db($database)或die(“Kan-ike-forbinde-til-database”);
$bestil=“将值插入$table(Fornavn、Efternavn、Land、By、皮卡、Antal、Pakke、Kodeord)中(“$fnavn”、“$navn”、“$Land”、“$By”、“$皮卡”、“$Antal”、“$Pakke”、“$Kodeord”);
$result=mysql\u查询($bestil);
如果($结果){
回声(
Din bestilling er blevet opretet”);
}否则{
echo(mysql_error());
}
mysql_close();
?>
我还尝试将数据手动发布到表中,看看是否可以检索它们,以检查是否与数据库有连接-但我没有任何问题,因此我在这里处于死胡同。您在SQL查询中使用
$navn
,但该变量实际上被称为$enavn
$bestil = "INSERT INTO $table(Fornavn, Efternavn, Land, By, Pickup, Antal, Pakke, Kodeord)VALUES('$fnavn', '$enavn', '$land', '$by', '$pickup', '$antal', '$pakke', '$kodeord')";
更改其中一个。我建议您在输入标记中使用id,如
<input type="text" name="fornavn" id="fornavn" />
然后您将在$\u POST['fornavn']中获得该值。关键字'by'是mySQL保留关键字,它是INSERT语句中描述的字段之一。您必须使用“by”将其放弃。它在哪个索引上显示错误?在所有POST变量上使用
isset()
。您的表名是动态的,但行是静态的?这并不意味着老师使用了isset(),而且很有效,谢谢!但是现在就要明白了:您的SQL语法中有一个错误;请查看与MySQL服务器版本对应的手册,以了解使用第1行的“By、pick、Antal、Pakke、Kodeord”值(“”、“”、“”、“”、“”、“”、“”、“”、“”)的正确语法,注意小Johnny Tables不会填写您的web表单。id
不用于表单或POST
。发布数据只需要名称
。
<input type="text" name="fornavn" id="fornavn" />