我使用webform将一些数据写入MySQL数据库, 当我从表单中收到输入数据时,我将其存储在一个对象中;
但是当我尝试在我的SQL查询中使用这些数据时,我收到错误。
有人可以帮我吗?
谢谢
ķ
这是对象的初始化:
$nieuweInschrijving = new InvoerGegevens($voornaam, $achternaam, $functie, $bedrijf, $sector, $email);
class InvoerGegevens {
public $voornaam;
public $achternaam;
public $functie;
public $bedrijf;
public $sector;
public $email;
public $datum;
public $uniekeCode;
这是我的班级:InvoerGegegevens
function __construct($paramVoornaam, $paramAchternaam, $paramFunctie, $paramBedrijf, $paramSector, $paramEmail)
{
$this->voornaam = $paramVoornaam;
$this->achternaam = $paramAchternaam;
$this->functie = $paramFunctie;
$this->bedrijf = $paramBedrijf;
$this->sector = $paramSector;
$this->email = $paramEmail;
$this->uniekeCode = $this->createUniekeCode();
$this->datum = date("d-m-Y H:i:s");
}
function get_voornaam()
{
return $this->voornaam;
}
...
function get_uniekeCode()
{
if(isset($this->uniekeCode))
return $this->uniekeCode;
else
return 0;
}
function createUniekeCode()
{
// range is numbers (48) through capital and lower case letters (122)
$range_start = 48;
$range_end = 122;
$random_string = "";
$random_string_length = 12;
for ($i = 0; $i < $random_string_length; $i++) {
$ascii_no = round( mt_rand( $range_start , $range_end ) ); // generates a number within the range
// finds the character represented by $ascii_no and adds it to the random string
// study **chr** function for a better understanding
$random_string .= chr( $ascii_no );
}
return $random_string;
}
这是我的发言:
$echo = "INSERT INTO `tbl_inschrijving` (Voornaam, Achternaam, Functie, Bedrijf, Sector, Email, UniekeCode, Datum) VALUES('$nieuweInschrijving->get_voornaam();'....
我得到的错误是:
Notice: Undefined property: InvoerGegevens::$get_voornaam
感谢您的建议
答案 0 :(得分:0)
我看起来像
'$nieuweInschrijving->get_voornaam();'`
被解释为
$nieuweInschrijving->get_voornaam . '();'
而不是意图:
$nieuweInschrijving->get_voornaam() . ';'
使用字符串连接,不要依赖PHP的解释。
您还需要转义进入查询的输入。