Php 为什么赢了';我的表格不能将信息发送到数据库吗?
这是我先前提出的一个问题的一个更简洁的版本,希望得到答案。我已经制作了一个表单,应该使用一个类将提交的信息发送到数据库Php 为什么赢了';我的表格不能将信息发送到数据库吗?,php,mysql,function,class,pdo,Php,Mysql,Function,Class,Pdo,这是我先前提出的一个问题的一个更简洁的版本,希望得到答案。我已经制作了一个表单,应该使用一个类将提交的信息发送到数据库 beeradded.php beer.php 看起来$\u POST=$form应该是$form=$\u POST。你正在删除你所有的数据。另外,在您的示例中没有调用addBeer此外,您的登录系统是可利用的。如果除了@doliver的回答之外,我没有在浏览器中点击重定向,我可以忽略重定向 count($validationErrors) 将返回1,因为它是Int而不是
beeradded.php
beer.php
看起来$\u POST=$form应该是$form=$\u POST。你正在删除你所有的数据。另外,在您的示例中没有调用addBeer此外,您的登录系统是可利用的。如果除了@doliver的回答之外,我没有在浏览器中点击重定向,我可以忽略重定向
count($validationErrors)
将返回1
,因为它是Int而不是数组。因此if语句中的任何内容都不会运行
$new_beer->setBeerRating($beer_rating);
echo "Beer added.";
您需要在这里添加一行,在这里您可以调用BeerEditor的addBeer($new\u beer)
函数。目前,您没有调用该函数的任何内容,因此永远不会执行INSERT。Beer类中没有任何内容与DB交互,所以您所做的只是设置一个本地Beer对象,然后丢弃它
编辑:
根据我的意见,您需要:
- 定义新的PDO连接,如
$conn
- 设置如下内容:
$beerEditor=newbeereditor($conn)代码>
- 运行
$beerEditor->addBeer($new\u beer)代码>
谷歌可以帮你很多忙,这里你希望它打印什么而不是数组?不确定这是否是唯一的错误,但是$\u POST=$form
可能应该是$form=$\u POST代码>我希望它将数据与它一起发送到数据库。我遗漏了一些重要的东西吗?您没有包含Beer类的代码,只有Beereditor。此外,似乎没有显式调用addBeer()函数。您只在代码中填充了一个Beer对象,并且在切换数组之前从未将数据插入数据库。我仍然拥有我提交的所有数据。我切换了它,但在提交后得到了相同的结果。因此,我只需添加行addBeer($new_Beer)上面的代码>您需要1)定义一个新的PDO连接$conn
2)设置如下内容:$beerEditor=newbeereditor($conn)代码>3)运行$beerEditor->addBeer($new\u beer)代码>我已在顶部的include中建立了连接。至少我是这么想的。至于调用这个函数,我仍然没有弄清楚。我在$new\u beer
下面添加了一行$beereditor->addBeer($new\u beer)
,但是我得到了一个错误:致命错误:在第31行的/home/carlton/public\u html/PHPproject/forms/beeradded.php中找不到类“beer”
您需要包含啤酒类文件好的。您的setter(setBeerName、setBeerType等)需要向其传递参数。目前,您正试图将$this->beer\u name设置为一个不存在的值。将它们分别更改为公共函数setBeerName($beer_name){
等。此外,在u构造中,您调用$this->setName($beer_name);
,该函数不存在(setName
vssetBeerName
)。最后两个错误是因为您没有从我的编辑中遵循上面的第2项
<?php
/**
* Description of beer
*
* @author root
*/
class beer {
protected $beer_name; //varchar(45)
protected $beer_type; //varchar(45)
protected $beer_abv; //decimal(4,2) alcohol percentage ex. 06.50
protected $beer_rating; //char(10) 1 awful beer, 10 great beer
public function __construct($beer_name = null){
if ($beer_name !== null){
$this->setName($beer_name);
}
//defaults
// $this->setType($beer_type);
// $this->setABV($beer_abv);
// $this->setRating($beer_rating);
}
public function setBeerName(){
$this->beer_name = $beer_name;
}
public function getBeerName(){
return $this->beer_name;
}
public function setBeerType(){
$this->beer_type = $beer_type;
}
public function getBeerType(){
return $this->beer_type;
}
public function setBeerABV(){
$this->beer_abv = $beer_abv;
}
public function getBeerABV(){
return $this->beer_abv;
}
public function setBeerRating(){
$this->beer_rating = $beer_rating;
}
public function getBeerRating(){
return $this->beer_rating;
}
}
count($validationErrors)
$new_beer->setBeerRating($beer_rating);
echo "Beer added.";